目录
⼀. 模块
1.1. 导⼊模块
1.1.1 导⼊模块的⽅式
1.1.2 导⼊⽅式详解
1.2. 制作模块
1.2.1 定义模块
1.2.2 测试模块
1.2.3 调⽤模块
1.2.4 注意事项
1.3. 模块定位顺序
1.4. __all__
⼆. 包
2.1 制作包
2.1.1 快速体验
2.2 导⼊包
2.2.1 ⽅法⼀
⽅法⼆
# 1. 导⼊模块import 模块名import 模块名 1 , 模块名 2 ...# 2. 调⽤功能模块名 . 功能名 ()
体验
import mathprint ( math . sqrt ( 9 )) # 3.0
from..import.. 可以减少查询次数,提高执行速度
语法
from 模块名 import 功能1, 功能2, 功能3...
体验
from math import sqrtprint ( sqrt ( 9 ))
from .. import * 谨慎使用
from 模块名 import *
from math import *print ( sqrt ( 9 ))
as定义别名
# 模块定义别名import 模块名 as 别名# 功能定义别名from 模块名 import 功能 as 别名
体验
# 模块别名
import time as tt
tt.sleep(2)
print('hello')
# 功能别名
from time import sleep as sl
sl(2)
print('hello')
可以使用dir函数查看任意模块中所有的对象列表,如果调用不带参数的dir()函数,则返回当前所有名字列表。
可以使用help函数查看任意模块或函数的使用帮助。
在需要导入的模块类型较多时,一般遵守如下导入顺序:
(1)导入Python标准库模块,如sys、os、math等;
(2)导入第三方库,如numpy、Pandas、Matplotlib等;
(3)导入自己开发的模块,即编辑好.py文件。
python对象
常用内置对象
def testA ( a , b ):print ( a + b )
def testA(a, b):
print(a + b)
testA ( 1 , 1 )
def testA ( a , b ):print ( a + b )# 只在当前⽂件中调⽤该函数,其他导⼊的⽂件内不符合该条件,则不执⾏ testA 函数调⽤if __name__ == '__main__' :testA ( 1 , 1 )
import my_module1my_module1 . testA ( 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_testfrom my_module2 import my_test# my_test 函数是模块 2 中的函数my_test ( 1 , 1 )
__all__ = [ 'testA' ]def testA ():print ( 'testA' )def testB ():print ( 'testB' )
导⼊模块的⽂件代码
from my_module1 import *testA ()testB ()
# my_module1print ( 1 )def info_print1 ():print ( 'my_module1' )
# my_module2print ( 2 )def info_print2 ():print ( 'my_module2' )
import 包名 . 模块名包名 . 模块名 . ⽬标
体验
import my_package . my_module1my_package . my_module1 . info_print1 ()
注意:必须在 __init__.py ⽂件中添加 __all__ = [] ,控制允许导⼊的模块列表。
from 包名 import *模块名 . ⽬标
体验
from my_package import *my_module1 . info_print1 ()