生活中,有时候我们需要对一些重要的文件进行加密,Python提供了诸如hashlib,base64等便于使用的加密库。但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而强化自身的编程能力。记得给公众号加个星标,不会错过精彩内容。基础知识在Python中异或操作符为:^,也可以记作XOR。按位异或的意思是:相同值异或为0,不同值异或为1。具体来讲,有四种可能:0^0=0,0^1=1,1^0=1,1^1=0。我们还可总结出规律(A为0或
系统 2019-09-27 17:54:26 1930
python中的数字类型工具python中为更高级的工作提供很多高级数字编程支持和对象,其中数字类型的完整工具包括:1.整数与浮点型,2.复数,3.固定精度十进制数,4.有理分数,5.集合,6.布尔类型7.无穷的整数精度8.各种数字内置函数及模块。基本数字类型python中提供了两种基本类型:整数(正整数金额负整数)和浮点数(注:带有小数部分的数字),其中python中我们可以使用多种进制的整数。并且整数可以用有无穷精度。整数的表现形式以十进制数字字符串写
系统 2019-09-27 17:54:10 1930
编译:Python开发者-伯乐在线读者,英文:mediumhttp://python.jobbole.com/89252/所有人(好吧,不是所有人)都知道python是一门用途广泛、易读、而且容易入门的编程语言。但同时python语法也允许我们做一些很奇怪的事情。使用lambda表达式重写多行函数众所周知python的lambda表达式不支持多行代码。但是可以模拟出多行代码的效果。deff():x='string'ifx.endswith('g'):x=x
系统 2019-09-27 17:54:03 1930
Ifanobject'svaluecanbemodified,theobjectissaidtobemutable.Ifthevaluecannotbemodified,theobjectissaidtobeimmutable.mutable可变类型,例如list,set,自定义类型(等价于C#中的引用类型);immutable不可变类型,例如string,numbers等(等价于C#中的值类型);一、引用和拷贝(referencesandcopies)当
系统 2019-09-27 17:54:01 1930
前言我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错。将字符串和Bytes互相转换可以使用encode()和decode()方法。如下所示:#方法中不传参数则是以默认的utf-8编码进行转换In[1]:'南北'.encode()Out[1]:b'\xe5\x8d\x97\xe5\x8c\x97'In[2]:b'\xe5\
系统 2019-09-27 17:52:59 1930
是什么:首先,Python装饰器的作用是:让被装饰的函数在不需要任何变化的情况下,增加额外的功能。为什么:为什么要用装饰器呢,直接增加功能不就行了?因为有的程序已经上线或已经被使用,那么就不能大批量的修改源代码,于是就产生了装饰器。怎么装饰:预备知识:函数名和函数的区别,即带括号和不带括号的区别1.test1表示的是函数的内存地址。可以理解为一个指向某块内存的标签。2.test1()就是调用对在test1这个地址的内容,即函数。3.再通俗的比喻,test1
系统 2019-09-27 17:52:54 1930
最近公司一个项目需要用到IAP升级,要求将APP的版本号在hex文件添加,于是尝试用python写一个脚本,运行之后可以自动增加版本号,并且日期都是当天的importreimporttime#获取日期的数据及校验和year=int(time.strftime("%y",time.localtime()))month=int(time.strftime("%m",time.localtime()))date=int(time.strftime("%d",ti
系统 2019-09-27 17:52:41 1930
今天学习了python的逻辑语句。感觉与其他语言不通,鲜明的特点是除了Ture和False,有时返回的是数值。简单小结如下:1、and(逻辑与)乘法性质:同时为真方为真,只要一假就是假。计算方法:遇假跳出,否则返回最后真(值)。2、or(逻辑或)加法性质:同时为假方为假,只要一真就是真。计算方法:遇真跳出,直接返回跳出真(值)。3、not(逻辑非)取反性质:结果总是Ture或False。最后,跳出返回的真值可能是非零的数值或是Ture,返回假(值)可能是F
系统 2019-09-27 17:52:38 1930
先看map。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。举例说明,比如我们有一个函数a(x)=x*2,要把这个函数作用在一个list[1,2,3,4,5]上,就可以用map()实现如下:复制代码代码如下:>>>defa(x):...returnx*2...>>>map(a,[1,2,3,4,5])[2,4,6,8,10]map传入的第一个参数a,即a函数,当然你也可以不用ma
系统 2019-09-27 17:52:06 1930
练习题汇总设计一个函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5,若是返回True,否则返回Falsedefislength(obj):#判断对象的类型iftype(obj)in[str,list,tuple]:iflen(obj)>5:returnTrueelse:returnFalse设计一个函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容【字符串中含有空格,列表与元组中函数有空串】。若含有则返回True,否则返回
系统 2019-09-27 17:52:06 1930