关键字 golbal,nonlocal
默认参数的坑
函数名的应用
? 1.函数名指向的是函数的内存地址.加上()就执行这个函数.
? 2.函数名是一个变量.可以进行赋值运算
? 3.函数名可以作为容器类类型的元素.
? 4.函数名可以作为函数的实参.
? 5.函数名可以作为函数的返回值.
Python新特性,f-string
? 1.不区分大小写
? 2.可以加入表达式
? 3.可以结合函数
? 4.不能放特殊的字符 : ; ! {}
可迭代对象
字面意思分析:可以重复迭代的实实在在的. list dict tuple str set
? 专业角度:内部含有__ iter__方法的对象,就是可迭代对象. 内置函数:dir()
? 优点:直观.操作方法多.
? 缺点:占内存. 不能迭代取值(除去索引和字典的key)
迭代器
? 字面意思:可以重复迭代的工具.
? 专业角度:内部含有"__ iter__" 方法,并且 "next" 方法的对象,就是迭代器
? 可迭代对象转化成迭代器:
l1 = [1,2,3,4,5]
obj = iter(l1) l1.__iter__()
#迭代器可以迭代取值.利用next()进行取值.
print(next(obj)) 1
print(next(obj)) 2
print(next(obj)) 3
print(next(obj)) 4
print(next(obj)) 5
print(next(obj)) #报错
? 迭代器优点: 非常节省内存.惰性机制.
? 缺点:不直观. 不灵活. 效率相对低(用时间换空间)
? 特性:迭代器是一条路走到黑,不走回头路(记录位置)
可迭代对象与迭代器的对比
? 可迭代对象:一个操作比较灵活,直观,效率相对高,但是比较占用内存的数据集
? 迭代器:一个非常节省内存,满足惰性机制,但是效率相对低,操作不灵活的数据集
原文:https://www.cnblogs.com/lyoko1996/p/11055077.html