什么是模块
Python模块(Module),是一个Python文件,以.py结尾,模块能定义函数,类和变量,模块里也能包含可执行的代码。
模块的作用:python中有很多各种不同的模块,每一个模块都可以帮助我们快速的实现一些功能,比如实现和时间相关的功能就可以使用time模块我们可以认为一个模块就是一个工具包,每个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能。
模块的导入方式
模块在使用前需要先导入 导入的语法如下:
[from 模块名] import [模块|类|变量|函数|*] [as 别名]
常用的组合形式如:
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名
import模块名
基本语法:
import 模块名
import 模块名1,模块名2
模块名.功能名()
#使用import导入time模块使用sleep功能(函数)
import time
print("你好")
time.sleep(5)
print("我好")
from 模块名 import 功能名
基本语法:
from 模块名 import 功能名
功能名()
#使用from导入time的sleep功能(函数)
from time import sleep
print("你好")
sleep(5)
print("我好")
from 模块名 import *
基本语法:
from 模块名 import *
功能名()
#使用*导入time模块的全部功能
from time import *
print("你好")
sleep(3)
print("我好")
as定义别名
基本语法:
#模块定义别名
import 模块名 as 别名
#功能定义别名
from 模块名 import 功能 as 别名
#使用as给特定功能加上别名
import time as t
print("你好")
t.sleep(2)
print("我好")
#使用as给特定功能加上别名
from time import sleep as sl
print("你好")
sl(5)
print("我好")
自定义模块
def test(a,b):
print(a+b)
import my_module1
my_module1.test(1,2)
from my_module1 import test
test(1,2)
测试模块
在实际开发中当一个开发人员编写完一个模块后,为了让模块能够在项目中达到理想的效果,会自行在py文件中添加一些测试信息 例如
def test(a+b)
print(a+b)
test(1,1)
问题:此时无论是当前文件,还是其他已经导入了该模块的文件,在运行的时候都会自动执行‘test’函数的调用
def test(a,b)
print(a+b)
#只有当前文件中调用该函数,其他导入的文件内不符合该条件,则不执行test函数调用
if __name__=='_mian_':
test(1,1)
__all__
如果一个模块文件中有‘__all__'变量,当使用’from xxx import *'导入时,只能导入这个列表中的元素
__all__test=['test_a']
def test_a(a,b):
print(a+b)
def test_b(a,b):
print(a-b)
from my_module1 import *
test_a(1,2)
这里只能使用test_a函数