一般写在文件开头
语法:[from 模块名] import [模块 | 类 | 变量 | 函数| *] [as 别名] ----- []表示可选
使用1:模块名.功能名()
使用2:功能名()
例子:
# 方式一
import time
print("你好")
time.sleep(5)
print("hi")
# 方式二:
from time import sleep
print("你好")
sleep(5)
print("hi")
# 方式三
from time import *
print("你好")
sleep(5)
print("hi")
# 方式四
import time as t
print("你好")
t.sleep(5)
print("hi")
# 方式五
from time import sleep as sl
print("你好")
sl.sleep(5)
print("hi")
import my_moudle1
my_moudle1.t1(1, 2)
# 从不同模块导入相同功能时,后面的会覆盖前面的
# from my_moudle1 import t1
# from my_moudle2 import t1
# t1(1, 2)
# t1(1, 2)
my_moudle1模块:
def t1(a, b):
print(a + b)
当导入的模块调用了里面的函数时,导入时会直接输出结果
from my_moudle1 import t1 # 直接输出my_moudle1模块中t1调用的结果
# 解决方法,在my_moudle1中这样写 if __name__ == '__main__':
my_moudle1模块:
def t1(a, b):
print(a + b)
if __name__ == '__main__': # __name__:内置变量
t1(1, 2)
如果一i个模块文件中有--all--变量,当使用from xxx import * 导入时(只针对这种),只能导入这个列表中的元素
from my_moudle1 import *
t1(3,4)
t2(3,6) # my_moudle1中使用了__all__内置变量
my_moudle1模块:
__all__=['t1']
def t1(a, b):
print(a + b)
def t2(a, b):
print(a - b)
if __name__ == '__main__': # __name__:内置变量
t1(1, 2)