笔记
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()
test函数用于检测该模块能否正常运行。我们希望该函数只能在单独运行模块文件时被调用,来检测模块的运行;而不希望模块被导入到其他文件时,test函数会被执行。因此,我们在该模块中加入了 if __name == '__main__'
__name__变量是变化的:在正在运行的文件中,__name__的值就是'__main__',表示该文件是正在运行的文件(主文件);而在主文件中访问其他文件中的__name__变量时,如访问TemperatureConversion.__name__,得到:
'TemperatureConversion'
在模块单独运行时,访问__name__同样会得到'__main__'。
因此,可用该语句来使模块中的某些代码在主文件运行时不被执行。
搜索路径
调用:
import sys
sys.path
得到一个装有Python默认的检测路径的列表:
在IDLE导入模块时,如果模块在上述路径中,则可以成功导入;或者运行的文件与模块在同一个文件夹时,也可以成功导入;否则,导入失败。
推荐把模块放入上述的site-packages文件夹中。
可以利用sys.path.append()添加路径。
包(package)
创建包的方法:
1.创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
2.在文件夹中创建一个__init__.py的模块文件,内容可以为空;
3.将相关的模块放入文件夹中。
__init__.py用于告诉Python把该目录当成一个包来管理。
如何调用包:
用 包名.模块名 的形式导入。