#生成器 不会记录在内存里,而是用快捷方式记录,并且记录上一次的位置,返回下一个值
sum(range(1,101))
def my_range(first=0, last=10, step=1):
number = first
while number < last:
yield number
number += step
ranger = 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 result
return new_function
def add_ints(a, b):
return a + b
cooler_add_ints = document_it(add_ints)
#人工赋值
cooler_add_ints(3,
5)
#装饰器可以直接写在要被装饰的函数前面,可以有多个,按顺序执行
@document_it
def add_ints(a, b):
return a + b
add_ints(3,
5)
#命名空间
locals()
返回一个局部命名空间内容的字典
#只能函数内打印
globals()
返回一个全局命名空间内容的字典
#特殊
function.__name__ #函数名称
function.__doc__ #函数文档
__main__ #主程序
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。