一,模块
1,一个模块里仅有一个函数:
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。
例如:模块support代码
def fuc(bar):
print("helllo:",bar)
return
引用support模块
import support
support.fuc('runoob')
结果
helllo: runoob
2,一个模块有多个函数
模块代码:
def fib1(n):
a,b=0,1
while b<n:
print(b,end=" ")
a,b=b,a+b
print('\n'"fib1" )
def fib2(n):
a,b=0,1
result=[]
while b<n:
result.append(b)
a,b=b,a+b
print(result)
print("fib2")
引用模块
1 1 2 3 5 8 13 21 34 55 89
fib1
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
fib2
**3,from…import ***
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:
from modname import name1[, name2[, ... nameN]]
例如:
from fibo import fib1
fib1(100)
fib2(100)
结果:
Traceback (most recent call last):
File "D:/Enclosure/python/模块/test2.py", line 3, in <module>
fib2(100)
NameError: name 'fib2' is not defined
1 1 2 3 5 8 13 21 34 55 89
fib1
4,__name__属性
一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
if __name__ == '__main__':
print('程序自身在运行')
else:
print('我来自另一模块')
结果:
程序自身在运行
import using_name
结果:
我来自另一模块
说明:
每个模块都有一个__name__属性,当其值是’main’时,表明该模块自身在运行,否则是被引入。