def fabonacci(n): """ normal fabonacci function """ pdi() a, b = 0, 1 for i in range(n): print b a, b = b, a + b pdi()
def test(number): pdi() '''在函数内部再定义一个函数,并且这个内部函数用到了外边函数的形参''' '''那么将这个函数及变量称作闭包''' '''closure就是一个闭包''' def closure(): pdi() print(number + 99) pdi() return closure
def test(number): pdi() """ 在函数内部再定义一个函数,并且这个内部函数用到了外边函数的形参 那么将这个函数及变量称作闭包 closure就是一个闭包 """ def closure(): pdi() print(number + 99) pdi() # 这样放回函数调用结果不合适 # 应该返回函数"指针"closure return closure()
def fabonacci(n): pdi() a, b = 0, 1 for i in range(n): # print b 将打印语句换成yield就能将这个函数改位生成器 pdi() yield b pdi() a, b = b, a + b pdi()
def fabonacci1(n): """ fabonacci list generator 加了yield的函数就变成了生成器 """ pdi() a, b = 0, 1 for i in range(n): # print b 将打印语句换成yield就能将这个函数改位生成器 pdi() yield b pdi() a, b = b, a + b pdi()
def function1(val): pdi() print 'val = %s' % val
def function(): pdi()
def closure(): pdi() print(number + 99)
#!/usr/bin/env python # coding=utf-8 # import local debug info module from print_debug_info import pdi def test(number): pdi() '''在函数内部再定义一个函数,并且这个内部函数用到了外边函数的形参''' '''那么将这个函数及变量称作闭包''' '''closure就是一个闭包''' def closure(): pdi() print(number + 99) pdi() return closure ret = test(100) print('=' * 20) pdi() ret()
def function1(): pdi()