1.模块的导入
[from 模块名] import [模块 | 类 | 变量 | 函数 |*][as 别名]
(1)import模块名
基本语法:
import模块名
import模块名1,模块名2
模块名.功能名()
如,导入time模块
#导入时间模块
import time
print("开始")
#让程序睡眠1秒(阻塞)
time.sleep(1)
print("结束")
(2)from 模块名 import 功能名
基本语法:
from 模块名 import 功能名
功能名()
如,导入time模块中的sleep方法
#导入时间模块中的sleep方法
from time import sleep
print("开始")
#让程序睡眠1秒(阻塞)
sleep(1)
print("结束")
(3)from模块名import*
基本语法:
from 模块名 import *
功能名()
如,导入time模块中所有的方法
#导入时间模块中所有的方法
from time import *
print("开始")
#让程序睡眠1秒(阻塞)
sleep(1)
print("结束")
(4)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')
2.自定义模块的导入
(1)制作自定义模块
在my_modulel1中定义test函数
def test(a,b):
print(a+b)
导入自定义模块
import my_module1
my_modulel1.test(10,20)
(2)注意事项:
#模块1代码
def my_test(a,b):
print(a+b)
#模块2代码
def my_test(a,b):
print(a-b)
#导入模块和调用功能代码
from my_modulel1 import my_test
from my_modulel2 import my_test
#my_test函数是模块2中的函数
my_test(1,1)
当导入多个模块的时候,且模块内有同名功能,当调用这个同名功能的时候,调用到的是后面导入模块的功能。
(3)测试模块
开发人员经常会自行在文件中添加一些测试信息,例如,在my_modulel.py中添加测试代码test(1,1)
def test(a,b):
print(a+b)
test(1,1)
当导入该模块文件时,在运行的时候会自动执行‘test’函数的调用。
解决方法:
①_ _main_ _变量
def test(a,b):
print(a+b)
#只在当前文件中调用该函数,其他导入的文件中不执行
if_name_=='_main_':
test(1,1)
②_ _all_ _变量
如果一个模块文件中有‘_ _all_ _’变量,当使用‘from xxx import *’导入时,只能导入这个列表中的元素
_ _all_ _ = ['test_A']
def test_A():
print("testA")
def test_B():
print('testB')
from my_module1 import *
test_A() #这里只能使用test_A函数