除非真的需要from这个形式的模块导入,否则常用普通的 import
模块导入方法:
1. import 模块名
2. from 模块名 import 函数名
3. import 模块名 as 新名字
一、模块就是程序
- 模块就是平时写的代码,保存的每一个.py结尾的文件都是一个独立的模块
当我们把文件保存起来,它就是一个独立的模块(为了让默认的IDLE可以找到这个模块,需要把文件放在Python的安装目录下) - 在python中每个模块都会维护一个独立的命名空间,我们应该将模块名加上,才能够使用模块中的函数
二、导入模块
# test.py
def c2f(cel):
fah=cel*1.8+32
return fah
def f2c(fah):
cel=(fah-32)/1.8
return cel
-
import 模块名
直接 import,但是在调用模块中的函数的时候,需要加上模块的命名空间print("99 华氏度 = %.2f 摄氏度" % test.f2c(99))
-
from 模块名 import 函数名
这种导入方法会直接将模块的命名空间覆盖进来,所以调用的时候也就不需要再加上命名空间了from test import c2f,f2c print("99 华氏度 = %.2f 摄氏度" % f2c(99))
-
import 模块名 as 新名字
这种方法给导入的命名空间替换一个新的名字import test as tst print("99 华氏度 = %.2f 摄氏度" % tst.c2f(99))
-
调用自定义的模块
# 导入模块所在的位置
import sys
sys.path.append('G:\Python\Python学习\hello.py')
import hello
# Hello World !
需要注意的是,再次导入模块就什么都不会发生了,因为导入模块并不意味着在导入时执行某些操作(比如打印文本)。它们主要用于定义,比如变量、函数和类等。此外因为只需要定义这些东西一次,导入模块多次和导入一次的效果是一样的。
三、模块的作用
- 封装组织Python的代码,当代码量非常大时,可以有纪律地根据不同的功能,将代码分割成不同的模块,此时不同模块之间是相互独立开的,更加容易阅读
- 实现代码的重用,比如写了一段发送邮件的代码,多次优化之后发现非常棒,就可以封装成一个独立的模块,以后在任何程序需要发送邮件时,只需要导入这个模块就可以直接使用。