Day 17 : 模块
模块就是程序
def hi():
print('I love Python!')
hi()
#I love Python!
命令空间
import hello
hello.hi()
#I love Python!
导入模块
- 创建一个模块
"""一个摄氏度与华氏度相互转换的模块"""
#TemperatureConversion.py
def c2f(cel):
fah=cel*1.8+32
return fah
def f2c(fah):
cel=(fah-32)/1.8
return cel
- 第一种:imfort模块名
import TemperatureConversion
print('32℃=%.2f℉'%TemperatureConversion.c2f(32))
print('99℉=%.2f℃'%TemperatureConversion.f2c(99))
#32℃=89.60℉
#99℉=37.22℃
- 第二种:from 模块名 import 函数名
from TemperatureConversion import c2f,f2c
print('32℃=%.2f℉'%c2f(32))
print('99℉=%.2f℃'%f2c(99))
#32℃=89.60℉
#99℉=37.22℃
不建议使用 from import*
- 第三种:import 模块名 as 新名字
import TemperatureConversion as tc
print('32℃=%.2f℉'%tc.c2f(32))
print('99℉=%.2f℃'%tc.f2c(99))
#32℃=89.60℉
#99℉=37.22℃
if _name_==’_main_'
- 如果直接运行该模块,则 if _name_ == ‘_main_’ 中的代码将直接被运行;
"""如在上面温标转换中加入0℃和0℉的测试"""
def c2f(cel):
fah=cel*1.8+32
return fah
def f2c(fah):
cel=(fah-32)/1.8
return cel
def test():
print('测试,0℃=%f℉'%c2f(0));
print('测试,0℉=%f℃'%f2c(0));
if __name__=='__main__':
test()
#测试,0℃=32.00℉
#测试,0℉=-17.78℃
- 如果import该模块,则 if _name_ == ‘_main_’ 不会被运行
"""将上述模块导入calc.py"""
from TemperatureConversion import c2f,f2c
print('32℃=%.2f℉'%c2f(32))
print('99℉=%.2f℃'%f2c(99))
#32℃=89.60℉
#99℉=37.22℃
搜索路径
import sys
sys.path #得到默认路径
#['F:\\python\\Lib\\idlelib', 'F:\\python\\homework\\python37.zip', 'F:\\python\\DLLs',
#'F:\\python\\lib', 'F:\\python\\homework', 'F:\\python', 'F:\\python\\lib\\site-packages']
可使用sys.path.append()语句将文件路径添加到搜索路径中
包(package)
- 创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
- 在文件夹中创建一个 _init_.py 的模块文件,内容可以为空;
- 将相关的模块放入文件夹中。
导入方法为文件夹名+.+文件名
import M1.TempertureConversion
Python标准库
Python有很多自带的模块可以通过help去查找