# 1. 导⼊模块
import 模块名
import 模块名1, 模块名2...
模块名.xx()
# 2. 调⽤功能
from 模块名 import 功能1, 功能2, 功能3... 只导入指定的功能
from math import sqrt
print(sqrt(9))
from 模块名 import * 所有功能
from math import *
print(sqrt(9))
功能名()
import 模块名 as 别名
from 模块名 import 功能 as 别名
# 模块别名
import time as tt
tt.sleep(2)
# 功能别名
from time import sleep as sl
sl(2)
模块里 代码测试
if __name__== '__main__':下执行测试代码 该代码不会被调用方调用
def add(a,b):
print(a+b)
if __name__== '__main__':
add(1,1)
当多个模块同时导入的时候出现功能名称冲突时候,会执行最后一个导入的模块
# 模块1代码
def my_test(a, b):
print(a + b)
# 模块2代码
def my_test(a, b):
print(a - b)
# 导⼊模块和调⽤功能代码
from my_module1 import my_test
from my_module2 import my_test
# my_test函数是模块2中的函数
my_test(1, 1)
__all__
此方法定义在模块中 ,调用方只能调用all列表中的功能,限制导出功能
__all__=['testA']
def testA():
print('a')
def testB():
print('b')
from module1 import *
testA()
testB() #这个会报错
包
就是文件夹 包裹着一些.py模块文件和模块导出限制__init__.py文件
创建包和使用包的模块
创建包
[New] — [Python Package] — 输⼊包名
新建包后,包内部会⾃动创建__init__.py⽂件,这个⽂件控制着包的导⼊⾏为
写__all__=[模块名称]
module1.py
def info():
print('1')
module2.py
def info():
print('2')
使用方法一:
模块方式导入 import 包名.模块名
import modules.module1,modules.module2
modules.module1.info()
modules.module2.info()
使用方法二
功能方式导入 from 包名 import xx(*)
前提必须再__init__.py文件中定义导出限制__all__=[模块名称]
from modules.module1 import info as i
from modules.module2 import info as i2
i()
i2()