python入门:第十一天
一、python模块
什么是模块?
python模块,是一个python的代码文件,以.py结尾,就是一个python文件,模块能定义函数、类和变量。
模块里面也能包含可执行的代码
模块的作用
- python中又很多不同的模块,每个模块都可以帮助我们快速实现一些功能,比如实现和时间相关的功能就可以使用time模块,我们认为模块就是一个工具包,每个工具包都有不同的工具供我们使用进而实现不同的功能。
模块就是python文件,里面有类、函数、变量,我们可以拿过来用(导入模块)
模块如何导入?
语法:
[from 模块名] import [模块|类|变量|函数|*] [as 别名]
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名
1.1 import 模块名
import 模块名
import模块名1,模块名2
#模块名.功能名
#例子
import time
time.sleep()
1.2 from 模块名 import 功能名
from 模块名 import 功能名
#功能名
导入time模块中的sleep方法(只导入sleep方法)
#例子
from time import sleep
sleep()
1.3 from 模块名 import *
from time import *
#功能名()
导入time模块中的所有功能
#例子
from time import *
sleep()
time()
1.4 as 定义别名
#模块定义别名
import 模块名 as 别名
#定义功能名
from 模块名 import 功能 as 别名
# 例子
import time as tt
from tt import sleep as sl
tt.sleep()
sl()
2. 自定义模块
模块就是python文件,每个Python文件都可以作为一个模块,模块的名字就是文件的名字. 也就是说自定义模块名必须要符合标识符命名规则
如果导入多个模块,但方法一样:
结果调用的是模块二的my_test,这是因为:
当导入多个模块的时候,且模块内有同名功能. 当调用这个同名功能的时候,调用到的是后面导入的模块的功能
在模块中调用了自己的方法,或者有其他代码,
当在import 模块1的时候,本质上会执行模块,如果有函数就不执行,执行其他代码或者命令
不想导入模块的时候运行其他东西?如何解决
在模块中定义__main_变量:
if __name__ =='__main__':
test(1,2)
–name–是内置变量,当所在程序执行时,其值会自动变为–main–,在调用模块时其值为所在的文件名称,if判断为假:
还有一个小细节:–all–
from 模块 import 时,这个*星号其实从–all–中导入,当在模块中定义–all–时,其只能从定义好的–all–中找
3. python包
如果模块太多了,就可能造成一定的混乱,那么如何管理呢?
使用python包的功能来管理
如何创建包:
如何导入python包里面的模块
#方式1:
import 包名.模块名
#使用
包名.模块名()
方式2:
from 包名 import 模块名
from 包名.模块名 import 功能名