2021-08-04Python基础学习之包
作者:互联网
Python基础学习
一、包
- 包 本质是模块,所以包内可以含包
- 包 就是项目结构中的文件夹、目录 里面含有__init__.py文件的文件夹
- 作用: 用于将不同的模块进行分类管理,包本身不具有具体含义,用于文件分层管理
- 导包 import +包名 首先执行的是__init__.py文件中的内容
- __init__主要作用:可以导入此包内的其他模块 from 包名 import 模块名
- _ all :(可以在__init_.py文件中用此变量)一个列表,可以控制要引入的东西(模块,函数,类等)
- _ all _=[‘模块名’] 当为空时默认全部使用 适用于 from 包名 import *
- 在模糊导入时,形如from package import *,*是由__all__定义的。
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号
二、闭包
1.递归函数
在函数内部调用自己,不调用其他函数
- 必须有一个明确的结束条件
- 每进行更深一层递归时,问题规模比上次递归要有所减少
- 相邻两次重复间要紧密联系
- python递归深度是有限的
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 调用内部函数
* 当全世界都说你是疯子的时候,你就离成功不远了
标签:__,函数,之包,包内,08,py,04Python,模块,import 来源: https://blog.csdn.net/qq_43734041/article/details/119377342