模块
编写模块
# 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
改变解释器的工作目录
How to know/change current directory in Python shell?
>>> import os
>>> os.getcwd()
'...'
>>> os.chdir("...")
导入(import) fibo 模块
>>> import fibo
>>> 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]
>>> from fibo import fib, fib2
>>> fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
>>> from fibo import *
>>> fib(500)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
>>> 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
- 模块中可包含可执行语句,这些可执行语句只有在模块初次导入时才执行。
- 模块可导入其他模块。使用 modname.itemname 调用其他模块的函数。
- 可以将其他模块中的函数导入到本模块中。
- 使用通配符 * 时模块名不导入,以下划线打头的名字不导入。
- 模块名与其中的名字在导入时均可改名。