Python3 模块

在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。

为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

1、sys模块   python 标准库中模块

import Python3函数    #同一个文件夹中的模块
#import test2_1        #不同文件夹的模块  导入失败  被导入模块必须在此模块之前(之上)的目录中
import importTest1    #文件夹上的模块

import sys
'''
    1、import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法。
    2、sys.argv 是一个包含命令行参数的列表。
    3、sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表。
'''
print(sys.argv)     #程序外部向程序传递参数(列表)   ps:当前脚本(模块)上的有所目录,脚本名称是列表的第一个参数
print(sys.path)     #所有输入模块的目录名列表    ps:上述中导入模块,就在此列表中搜索对应的模块
print(dir(sys))     #查看sys中所有的可用方法
sys.path.append("E:\\test\\test2")         #在sys.path中添加了搜索路径
import test2_1          #当在sys.path中添加了搜索路径,则同级的文件夹下的模块也能导入

2、import 语句

想使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如下:

import module1[, module2[,... moduleN]

当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。

搜索路径是一个解释器会先进行搜索的所有目录的列表

一个模块只会被导入一次,不管你执行了多少次import

print("---------------import语句----------------")
import importTest1      #导入importTest1模块
importTest1.fun1([10,15,-8],[7,24,-20])  #访问导入模块中带参数的函数
importTest1.fun2()

funS =importTest1.fun1      #如果常用导入模块中的函数,可赋值给本地的一个名称 ps:函数最后不要带括号
funS([10,15,-8],[7,24,-20])

3、from...import语句

Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:

from modname import name1[, name2[, ... nameN]]
print("---------------from...import语句----------------")
from importTest1 import printString
printString()

4、from...import * 语句

把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:

from modname import *       # modname 导入的模块名称

这提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。

可以一次性的把模块中的所有(函数,变量)名称都导入到当前模块的字符表

这将把所有的名字都导入进来,但是那些由单一下划线(_)开头的名字不在此例。大多数情况, Python程序员不使用这种方法,因为引入的其它来源的命名,很可能覆盖了已有的定义。(用*的方式导入,可能会覆盖该模块已定义的相同名称的函数或变量)


5、__name__属性

(_ _ 去掉空格的两个)

if __name__ == "__main__":
    print("test2_1.py")        #自身程序运行时输出
else:
    print("调用test2_1.py")    #被调用时输出

说明: 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入。

说明:__name____main__ 底下是双下划线, _ _ 是这样去掉中间的那个空格。

6、dir() 函数

内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值