#生成器 不会记录在内存里,而是用快捷方式记录,并且记录上一次的位置,返回下一个值sum(range(1,101)) def my_range(first=0, last=10, step=1): number = firstwhile number < last:yield number number += stepranger = my_range(1,5)for x in ranger: #可以对它进行迭代#装饰器 不改变源码的情况下修改已存在函数。把一个函数作为输入并返回另一个函数。def document_it(func):def new_function(*args, **kwargs):print('Running function:', func.__name__)print('Positional arguments:', args)print('Keyword arguments:', kwargs) result = func(*args, **kwargs)print('Result:', result)return resultreturn new_functiondef add_ints(a, b):return a + bcooler_add_ints = document_it(add_ints) #人工赋值cooler_add_ints(3, 5)#装饰器可以直接写在要被装饰的函数前面,可以有多个,按顺序执行@document_itdef add_ints(a, b):return a + badd_ints(3, 5)#命名空间locals() 返回一个局部命名空间内容的字典 #只能函数内打印globals() 返回一个全局命名空间内容的字典#特殊function.__name__ #函数名称function.__doc__ #函数文档__main__ #主程序原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。