testbao/__init__.py # import testmokuai1 # import testmokuai2 __all__=['testmokuai1']
testbao/testmokuai1.py print('这是包内的测试模块1') def testbao1(): print('这是测试包1号') def testbao2(): print('测试包2号') testbao1() testbao/testmokuai2.py print('这是包内测试模块2')
test.py # import testbao# 这是包内的测试模块1,模块2 前提是包内的__init__.py中导入了包内模块,才会执行模块内 内容 # from testbao import testmokuai2 #这是包内的测试模块2 # import testmokuai2#这是包内测试模块2 from testbao import *# 这是包内的测试模块1 \ 这是测试包1号 testmokuai1.testbao2()# 测试包2号
在函数内部调用自己,不调用其他函数
两个函数的嵌套,内部函数使用到了外部函数的 变量,这种现象叫产生闭包,此内部函数 称为闭包
构成条件
# 递归函数 # 累积和 def add(n): if n==1: return n else: return n+add(n-1) print(add(3))# 6 # 斐波那题数列 def fib(n): if n<=2: # if n<=1: # return n return 1 else: return fib(n-1)+fib(n-2) print([fib(i) for i in range(1,13)])# [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144] # 、闭包 def outer():#外层函数 n=10 def inner():#内层函数 print(n)#使用外层函数变零 return inner# 返回内层函数名 print(outer())#<function outer.<locals>.inner at 0x00000229519AF268> f=outer() print(f)#<function outer.<locals>.inner at 0x000002227A7AF268> f()# 10 调用内部函数