函数的闭包 迭代器的使用

1 函数名的应用(第一类对象)

函数名的命名规范和变量是一样的

(1)由数字,下划线,字母组成

(2)不能使用python关键字

(3)不能由纯数字或数字开头

(4)要有意义

(5)不要太长

(6)不要使用中文

(7)推荐使用驼峰或下划线命名

可以作为列表中的元素进行存储

def func1():
pass
def func2():
pass
lst=[func1,func2]
for el in lst:
el()

 可以作为参数传递给函数

def func():
def proxy(fn):
fn()
proxy(func)

 可以作为函数的返回值

def func():
def inner():
pass
return inner
func()()

2闭包

闭包:在内层函数中访问外层函数的局部变量

好处:
1 保护你的变量不受外界影响

2 可以让变量常驻内存

写法:

def outer():
a=10
def inner():
print(a)
return inner

 3 迭代器

使用dir来查看该数据包含了那些方法,可迭代对象可以使用_iter_()来获取到迭代器,可迭代器里面有_next_()

用来遍历列表,字符串 元组......... 可迭代对象

可迭代对象:lterable,里面有_iter_()可以获取迭代器,没有_next_()

迭代器:lteraor 里面有_iter_()可以获取迭代器 还有_next_()

迭代器的特点:

1 只能向前

2 惰性机制

3 省内存

for 循环的内部机制

1 首先获取到迭代器

2 使用while循环获取数据

3 it._next_()来获取数据

4处理异常try:     except Stoplteration

lst =["章子怡","王力宏","马勇","张韶涵","茉莉花"]
it = lst._iter_()
while 1:
try:
data=it._next_()
for el in lst:
print(el)
except Stoplteration
break


结果:章子怡
 王力宏
 马勇
 张韶涵
 茉莉花

猜你喜欢

转载自www.cnblogs.com/mlhz/p/9455557.html