模块
模块的简介
模块化是将一个完整的程序分成一块块小的模块
程序是将这些一个个小的模块组合起来,搭建完整的程序
模块的优点
- 方便开发
- 方便维护
- 模块可以复用
模块的创建
在Python中,后缀名为.py的文件就可以作为一个模块
__ name __
使用__ name __方法可以获取模块名.
- 如果该方法在当前文件调用,返回的结果是‘__ main __’
- 如果该方法是在另外一个文件被调用的,返回的结果是当前文件的名称
我们在编写好一个模块后,需要进行测试,但是我们不希望测试的代码在被其他文件调用时得出运行结果,这时候我们可以通过__ name __方法来实现这功能
if __name__ == '__main__': # 限制了只在当前文件运行才能执行如下代码
p = Person('张同学',18,'男')
s1 = p.get_name + p.Speak()
w1 = p.get_name + p.Walk()
print(s1)
print(w1)
模块的使用
- import 模块名
- import 模块名 as 模块的别名
- from 模块名 import 模块中的对象
- from 模块名 import 模块中的对象 as 模块中的对象的别名
# 模块
class Person:
def __init__(self,name,age,sex):
self._name = name
self._age = age
self._sex = sex
@property
def get_name(self):
return self._name
@get_name.setter
def set_name(self,name):
self._name = name
def Speak(self):
return '会说话'
def Walk(self):
return '会走路'
# print(__name__)
if __name__ == '__main__':
p = Person('张同学',18,'男')
s1 = p.get_name + p.Speak()
w1 = p.get_name + p.Walk()
print(s1)
print(w1)
# 引用模块
import test_mo
p = test_mo.Person('张同学',18,'男')
r = p.get_name + p.Speak()
print(r)
- 调用模块中的变量:模块名.变量名
- 调用模块中的函数:模块名.函数名
- 调用模块中的对象:模块名.对象名
附注:
如果无法调用自行编写的模块,可以将模块文件和调用该模块的文件放进一个文件夹,然后设置该文件夹为根目录,如图(该图的文件夹已经设置了根目录)