主要内容 #
- 模块的定义
- 模块的导入
- 模块的搜索路径
1. 模块的定义 #
Python 的模块(module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
模块的作用:
模块让你能够有逻辑地组织你的 Python 代码段。
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
模块能定义函数,类和变量,模块里也能包含可执行的代码。
一个.py文件里的所有功能可以认为是一个模块。
比如:新建一个文件 lesson_75.py 此时就已经建立了一个模块。
然后可以在文件里写函数,变量等等,如下程序。
def print_func(param):
print("hello:", param)
return param
var_1 = 200
var_2 = "hello world"
2. 模块的导入 #
模块定义好之后,使用Python的关键字 import 来导入
语法如下:
import module1[, module2,[,…moduleN]]
参数说明:
module1[, module2,[,…moduleN]],需要导入的模块,至少需要一个模块 module1,其它模块为可选项
当导入只有一个模块时,可以通过关键字 as 给模块起别名
比如:将模块 module1 起个别名为 md1
import module1 as md1
以下程序,导入上述文件 lesson_75.py 作为模块,并将该模块命名为 le_75
import lesson_75 as le_75
模块导入之后,如果需使用模块中定义的函数
语法如下:
module.function()
参数说明:
module:导入的模块
function:模块中的函数
导入模块及使用模块的程序示例如下:
import lesson_75 as le_75
print(le_75.print_func("python"))
print(le_75.var_2)
python的关键字 from 可以从模块中只导入指定的部分
语法如下:
from module1 import name1[, name2[,…nameN]]
参数说明:
module1:需要导入的模块
name1[, name2[,…nameN]]:模块中指定导入的部分,至少一个
例如:
#只导入lesson_75模块的print_func函数以及var_2变量
from lesson_75 import print_func, var_2
print(print_func("python"))
print(var_2)
#此时lesson_75中的var_1是不可访问的,比如,执行以下程序会报错:
#print(var_1)
关键字from和*组合的语句可以从模块中导入全部
语法如下:
from module1 import *
参数说明:
module1,需要导入的模块
例如,以下程序导入lesson_75模块的全部:
注:此时lesson_75中的全部都是可访问的。
这种声明尽量少用,因为在导入多个模块时容易出现冲突。
from lesson_75 import *
print(print_func("python"))
print(var_2)
print(var_1)
3. 模块的搜索路径 #
当我们导入一个模块时,Python解析器对模块位置的搜索顺序如下:
1. 当前目录;
2. 如果不在当前目录,则搜索Python的安装目录;
3. 如果都找不到,Python会搜索默认路径,可通过如下代码查找 :
import sys
print(sys.path)
4. 如果都找不到,则报ImportError错误。
4. 小结 #
模块(module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句
关键字from可以从模块中只导入指定的部分
关键字from和*组合的语句可以从模块中导入全部
Python解析器对我们导入的模块的位置按指定的顺序进行搜索
OJ训练题 #
1、绩效奖金 – ★
2、买文具 – ★
3、桐桐数 – ★
4、甲乙的年龄 – ★★
5、松鼠币 – ★★★★