老男孩Python 3.5学习第04周:装饰器、迭代器、序列化

函数嵌套是指在函数的定义内,用def声明一个函数,而非调用一个函数。

列表生成式

生成器不能分片。

a,b=b,a+b相当于t=(a,a+b),元组。

callable(),判断是否可调用。

exac,可将字符串执行成代码。

object=compile(code,'','exac'),编译代码,可实现动态地引入模块,而不必将模块文件存入Python安装目录lib下。不过老师后来发现,直接exac()调用就可以实现同样功能···

双下划线的方法是内部方法,一般不可用,除了__next__()。

isinstance()可用来判断是否是Iterable对象。

可以用于for循环的对象统称为可迭代对象:Iterable。

可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。

str.bytearray,修改字符串。

匿名函数,(lambda n:print(n))(5)。

filter(lambda n:n>5,range(10)),根据匿名函数的输出,过滤部分元素。

map(lambda n:n*2,range(10)),对元组内每个元素进行处理,得到一个新的元组。

functools.reduce(lambda x,y:x+y,range(10)),得到一个结果。在3.0中,reduce方法被移入标准库。

globals(),返回这个文件中所有变量,变量名为key,变量值为value,以字典形式。

hex(),转化十六进制。

oct(),转八进制。

round(),保留小数位数。

print(sorted(a.items())),按键排序。

print(sorted(a.items(),key=lambda x:x[1])),按值排序。

zip(),将前后两个列表中的元素一一摘取为元组。

序列化,把内存数据对象以字符串的形式存到硬盘文件中。

f.write(json.dumps(info)),序列化。

data=json.loads(f.read()),反序列化。

json,不同语言间传递。

pickle,只能在Python内部传递。

pickle.dump(info,f),等同于f.write(pickle.dumps(info))。

每次写程序只能dumps一次,loads一次。

readme内容:1.软件定位,软件的基本功能;2.运行代码的方法:安装环境、启动命令等;3.简要的使用说明;4.代码目录结构说明,更详细点可以说明软件的基本原理;常见问题说明。

os.path.dirname(),获取上一级文件相对路径名。

abuspath(),绝对路径名。

猜你喜欢

转载自www.cnblogs.com/lsj000jsl/p/10274936.html
今日推荐