一、模块
模块是指把定义存放在文件中,为脚本或者交互式 的解释器实例使用。模块是一个包含所有你定义的函数和变量的文件,后缀名为.py。模块也可以被别的程序引入,以使用该模块中的函数等功能。
下面我们来做一个简单的实例:
import sys #导入模块
for i in sys.argv:
print(i)
print("Python路径为:",sys.path)
#输出结果
Python路径为:C:/Users/Lenovo/PycharmProjects/untitled/venv/Scripts/baoliuzi.py
1、import语句
使用Python源文件,只需在另一个源文件里执行import语句。
语法格式为:
import module1,module2,···
下面我们做一个简单是实例,在test2.py中导入test1模块:
def a(par): #test1.py文件源码
print('hello:',par)
return
import test #test2.py文件源码
test.a("john")
#输出结果
hello: john
2、from...import语句
from语句让你从模块中导入一个指定的部分到当前的命名空间中。语法格式为:
from modulename import name1,name2,...
下面我们做一个简单的实例,在test2中导入test1的fib1 fib2:
def fib(n): #test1.py文件源码
a,b=0,1
while b<n:
print(b,end=' ')
a,b=b,a+b
print()
def fib2(n):
result=[]
a,b=0,1
while b<n:
result.append(b)
a,b=b,a+b
return result
from test import fib,fib2 #test2.py文件源码
print(fib(500))
#输出结果
1 1 2 3 5 8 13 21 34 55 89 144 233 377
3、from...import*语句
把一个模块的所有内容全部导入到当前的命名空间中。格式如下:
from modulename import* #星号代表所有全部内容
4、__name__属性
一个模块被另一个程序第一次引入时,其主程序运行。如果想在模块被引入时,模块中的某一程序不执行,我们可以用__name__属性来使程序在该模块自身运行时执行。
if __name__=='__main__':
print("程序自身运行")
else:
print("程序来自另一模块")
#输出结果
程序自身运行
5、dir()函数
内置函数dir()可以找到模块内定义的所有名称然后以字符串列表的形式返回
import sys
print(dir(sys))
#输出结果
['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__', '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '__unraisable