一、模块的定义
- 函数
- 类,比函数强大,封装了属性和方法,可以实现更多的功能
- 模块,比函数、类还要更加强大,封装了更多的功能代码。模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便重用。也就是模块可以封装任何数据、代码。
- 每一个后缀名为.py的文件都是模块。
- 模块作用就是将数据、代码封装起来,以便再使用。模块不仅仅我们自己使用,也可以把它给别人使用,就像传递文件一样那么简单。
二、使用自己的模块
- 建立模块,就是建立.py文件。在其中一个.py文件中引入另一个.py文件。
1、import语句
- import语句可以导入一个模块,可以使用模块中的变量、函数与类。
# 建立mytest模块
strtest = '疫情凶猛'
def doctor():
intro = '这次疫情胜过非典,要注意安全'
print('尽量不要出门')
class Hospital:
strClass = '现在都没有口罩'
def buy(self):
print('赶紧想办法,去买口罩吧!')
#在main.py中导入mytest模块
import mytest # 导入mytest模块
print(mytest.strtest) # 打印mytest模块中的strtest
mytest.doctor() # 运行mytest模块中的函数doctor()
yisheng = mytest.Hospital() # mytest模块中的Hospital实例化
print(yisheng.strClass) # 打印实例属性
yisheng.buy() # 调用实例buy方法
# 输出结果:
疫情凶猛
尽量不要出门
现在都没有口罩
赶紧想办法,去买口罩吧!
- 还有另外一种方法,import…as…
import mytest as mt # 导入mytest模块
print(mt.strtest) # 打印mytest模块中的strtest
mt.doctor() # 运行mytest模块中的函数doctor()
yisheng = mt.Hospital() # mytest模块中的Hospital实例化
print(yisheng.strClass) # 打印实例属性
yisheng.buy() # 调用实例buy方法
# 输出结果:
疫情凶猛
尽量不要出门
现在都没有口罩
赶紧想办法,去买口罩吧!
- 如果你嫌mytest名字太长,就可以使用import…as…语句,可以将mytest的名字变成ts,这样在后面需要使用mytest模块名的地方,就可以换成ts名字使用。
- 当我们需要导入多个模块时,我们可以使用逗号,将模块名隔开。
2、from…import…语句
- 可以将某一模块的部分代码导入到另一个模块中。
from mytest import doctor
from mytest import Hospital
from mytest import strtest
print(strtest)
doctor()
print(Hospital.strClass)
# 输出结果:
疫情凶猛
尽量不要出门
现在都没有口罩
- 将mytest.py文件中的变量与函数引导main.py中使用,这样使用时无需加入”模块名”前缀。
- 也可以做如下改变:
from mytest import strtest,doctor,Hospital
print(strtest)
doctor()
print(Hospital.strClass)
# 输出结果:
疫情凶猛
尽量不要出门
现在都没有口罩
3、if __name__==’__main__'语句
- 当我们有很多py文件在一个程序中,但是你只能指定一个程序入口。这样你就需要使用if __name__ == ‘__main__’:来指定某个py文件为程序入口。
- 第一种情况:当main.py被直接运行时,if __name__==’__main__'后面的代码也会被运行
import mytest
if __name__==&#