1. if_name_ == main '_'
if_name_ == main '_' 的意思:如果该模块作为主程序的话,执行。作为模块被调用的话,不执行。
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摄氏度" %f2c(0))
print("0摄氏度 = %.2f华氏度" %c2f(0))
if __name__ == "__main__":
test ()
运行这个文件,该模块作为主程序,测试程序执行:
0华氏度 = -17.78摄氏度
0摄氏度 = 32.00华氏度
作为模块被调用,不会运行测试文件:
>>> import Ceshi as cf
>>> print ("32摄氏度 = %.2f华氏度" %cf.c2f (32))
32摄氏度 = 89.60华氏度
>>> print ("99华氏度 = %.2f摄氏度" %cf.f2c (99))
99华氏度 = 37.22摄氏度
2. 搜索路径
当我们调用模块的时候,模块需要和程序在同一文件夹内,但是我们可以通过搜索路径,将在不同文件夹内的程序,也可以来调用模块。
>>> import sys
>>> sys.path
['E:\\python\\python 3.6', 'E:\\python\\python 3.6\\python36.zip', 'E:\\python\\python 3.6\\DLLs', 'E:\\python\\python 3.6\\lib', 'E:\\python\\python 3.6', 'E:\\python\\python 3.6\\lib\\site-packages']
系统会在上面的文件夹里面的搜索,有没有相关的模块,通过上图,很明显Ceshi.py 不在预设的路径中,所以我们可以吧该模块的路径假如到预设中:
>>> sys.path.append("E:\\python\\python 3.6\\存储的文件")
>>> import Ceshi as cf
>>> print ("32摄氏度 = %.2f华氏度" %cf.c2f (32))
32摄氏度 = 89.60华氏度
3. 包(package)
1. 创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
2. 在文件夹中创建一个_init_.py的模块文件,内容可以为空;
3. 将相关的模块放入文件夹中。
导入包:import 包名.模块名