python3
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3相关的知识,希望对你有一定的参考价值。
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 ‘ 33[31;1m%s 33[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]
以上是关于python3的主要内容,如果未能解决你的问题,请参考以下文章
[未解决问题记录]python asyncio+aiohttp出现Exception ignored:RuntimeError('Event loop is closed')(代码片段