零基础入门学习Python(27):模块和包
今天简单介绍一下Python的模块。
首先,我们知道容器是对数据的封装,函数是对语句的封装,类是对方法和属性的封装,而对于模块,它就是程序。
Python有很多模块,如果写代码的时候要用到模块的功能,就需要先导入模块,导入模块有三种方式:
1) import 模块名
2) from 模块名 import 函数名
3) import 模块名 as 新名字
>>> import numpy #numpy是Python中快速处理数据的模块
>>> from numpy import array #导入此模块中的数组array函数
>>> import numpy as np #导入numpy模块并取名为np
使用模块的优点:
1)封装组织Python的代码;
2)实现代码的重用。
在自己编写模块的时候,有些程序只是用来测试模块的某些功能的,不需要在导入模块的时候执行,此时,应该在模块中加入if __name == '__main__'
这行代码,用来测试是否要运行某些程序。
比如自己编写一个温度转换的模块 TemperatureConversion.py :
def c2f(cel):
fah = cel * 1.8 + 32
return fah
def f2c(fah):
cel = (fah - 32) / 1.8
return cel
def test():
print("测试,0摄氏度 = %.2f华氏度" % c2f(0))
print("测试,0华氏度 = %.2f摄氏度" % f2c(0))
if __name__ == "__main__":
test()
再写个小程序 calc.py 调用这个模块中的函数:
import TemperatureConversion as tc
print('32摄氏度 = %.2f华氏度' % tc.c2f(32))
print('99华氏度 = %.2f摄氏度' % tc.f2c(99))
运行结果为:
32摄氏度 = 89.60华氏度
99华氏度 = 37.22摄氏度
>>> __name__ #如果运行的是模块,则__name__得到主函数
'__main__'
>>> tc.__name__ #如果运行的是程序,导入的是模块,则__name__得到模块名
'TemperatureConversion'
最后再介绍一下包(package):
1)创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
2)在文件夹中创建一个__init__.py
的模块文件,内容可以为空;
此时,如果要导入相应的模块,则模块名为:包名.模块名。