模块和包
Python导入模块,Python import
模块
python模块其实是一个python文件,以.py结尾,包含了python对象定义和python语句。每个python脚本都可以被当作模块。
在模块被调用执行后会自动被python解释器编译成二进制文件,用于对模块加速执行。
下面程序使用导入整个模块的最简单语法来导入指定模块:
# 导入sys整个模块
import sys
# 使用sys模块名作为前缀来访问模块中的成员
print(sys.argv[0])
导入模块
引用as起别名 ,模块中所有内容用*代替
在导入多个模块的同时,也可以为模块指定别名,例如如下程序:
# 导入sys、os两个模块,并为sys指定别名s,为os指定别名o
import sys as s,os as o
# 使用模块别名作为前缀来访问模块中的成员
print(s.argv[0])
print(o.sep)
上面第 2 行代码一次导入了sys 和 os 两个模块,并分别为它们指定别名为 s、o,因此程序可以通过 s、o 两个前缀来使用 sys、os 两个模块内的成员。在 Windows 平台上运行该程序,可以看到如下输出结果:
C:\Users\mengma\Desktop\hello.py
\
from 模块名 import 成员名 as 别名
下面程序使用了 from…import 最简单的语法来导入指定成员:
# 导入sys模块的argv成员
from sys import argv
# 使用导入成员的语法,直接使用成员名访问
print(argv[0])
第 2 行代码导入了 sys 模块中的 argv 成员,这样即可在程序中直接使用 argv 成员,无须使用任何前缀。运行该程序,可以看到如下输出结果:
C:\Users\mengma\Desktop\hello.py
__name __属性
python内置的__name__属性可以用来识别程序是被导入的还是直接执行。
if:判断 >>>当某些代码不想被引用时,添加__name__判断。
包
用于存放模块的文件夹,将有关联的同一类型的模块放在同一类型的同一个文件夹。
包中必须包含__init__.py文件。对包做初始化定义默认的设置。
python包的导入
1)import 包名[.模块名 [as 别名]]
2)from 包名 import 模块名 [as 别名]
3)from 包名.模块名 import 成员名 [as 别名]
import 包名[.模块名 [as 别名]]
以前面创建好的 my_package 包为例,导入 module1 模块并使用该模块中成员可以使用如下代码:
import my_package.module1
my_package.module1.display("http://c.biancheng.net/java/")
运行结果为:
http://c.biancheng.net/java/
from 包名 import 模块名 [as 别名]
仍以导入 my_package 包中的 module1 模块为例,使用此语法格式的实现代码如下:
from my_package import module1
module1.display("http://c.biancheng.net/golang/")
运行结果为:
http://c.biancheng.net/python/
http://c.biancheng.net/golang/
from 包名.模块名 import 成员名 [as 别名]
此语法格式用于向程序中导入“包.模块”中的指定成员(变量、函数或类)。通过该方式导入的变量(函数、类),在使用时可以直接使用变量名(函数名、类名)调用,例如:
from my_package.module1 import display
display("http://c.biancheng.net/shell/")
运行结果为:
http://c.biancheng.net/python/
http://c.biancheng.net/shell/
本文地址:https://blog.csdn.net/Mao20001224/article/details/109766822