标签:int com 多个 name 代码 turn art 方式 pytho
python3之闭包、装饰器、生成器
闭包:
可以理解为函数的一种使用方式。
具体的特性为:
函数中内嵌函数,把内嵌函数的执行结果作为外层函数的返回值。
def count(start=0):
counter = [start]
def incr():
counter[0] += 1
return counter[0]
return incr
装饰器:
装饰器是在函数调用之上的修饰。
应用场景:
在多个函数需要进行同样的操作时,在不改变源代码的前提下,可以使用装饰器
def set_color(func):
def set_red():
return ‘\033[31;1m%s\033[0m‘ % func()
return set_red
@set_color
def welcome():
return ‘welcome to china‘
@set_color
def say_hi():
return ‘how are you?‘
if __name__ == ‘__main__‘:
print(welcome())
print(say_hi())
生成器:
一个函数中间的yield返回的中间值
yield返回执行结果并不中断程序执行,return在返回执行结果的同时中断程序执行
>>> def azj():
... yield ‘hello‘
... yield 100
... yield [10, 20]
...
>>> a = azj()
>>> for i in a:
... print(i)
...
hello
100
[10, 20]
标签:int com 多个 name 代码 turn art 方式 pytho
原文地址:http://blog.51cto.com/13399699/2131944