1. 模块定义
模块是一个包含Python定义和语句的文件。文件名就是模块名后跟文件后缀 .py 。在一个模块内部,模块名(作为一个字符串)可以通过全局变量 name 的值获得。
fibo.py 的文件
# Fibonacci numbers module
def fib(n): # write Fibonacci series up to n
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
def fib2(n): # return Fibonacci series up to n
result = []
a, b = 0, 1
while a < n:
result.append(a)
a, b = b, a+b
return result
2. 导入该模块
>>> import fibo
3. 用模块名访问函数
>>> fibo.fib(1000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>>> fibo.fib2(100)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
>>> fibo.__name__
'fibo'
4. 模块函数赋值给一个局部变量
>>> fib = fibo.fib
>>> fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
5. 导入模块指定成员
>>> from fibo import fib, fib2
>>> fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
6. 导入模块所有成员
>>> from fibo import *
>>> fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
7. 模块别名
>>> import fibo as fib
>>> fib.fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
>>> from fibo import fib as fibonacci
>>> fibonacci(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
8. 以脚本的方式执行模块
以脚本的方式运行一个Python模块
python fibo.py
模块里的代码会被执行,就好像你导入了模块一样,但是 name 被赋值为 “main”。
if __name__ == "__main__":
import sys
fib(int(sys.argv[1]))
有在当模块是以“main”文件的方式执行的时候才会运行。
$ python fibo.py 50
0 1 1 2 3 5 8 13 21 34
模块被导入的,**if name == “main”😗*后的代码不运行。
>>> import fibo
经常用于为模块提供一个方便的用户接口,或用于测试(以脚本的方式运行模块从而执行一些测试套件)。
9. 模块搜索路径
首先寻找具有该名称的内置模,然后解释器从 sys.path 变量给出的目录列表。
PYTHONPATH (一个包含目录名称的列表,它和shell变量 PATH 有一样的语法)。
————Blueicex 2020/07/19 17:27 blueice1980@126.com