知行编程网知行编程网  2022-10-07 19:30 知行编程网 隐藏边栏  8 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python如何引入模块的相关知识,包括Python中的模块,以及python导入外部模块这些编程知识,希望对大家有参考作用。

如何在python中导入模块

使用import来导入模块的语法,但实际上import有更详细的用法,主要有以下两种:

import 模块名1 [as 别名1], 模块名2 [as 别名2],…: 导入整个模块。
from 模块名 import 成员名1 [as 别名1],成员名2 [as 别名2],…: 导入模块中指定成员。

上面两种 import 语句的区别主要有以下几点:

第一个import语句导入整个模块中的所有成员(包括变量、函数、类等);第二个 import 语句只导入模块中的指定成员(除非使用了表单模块名 import *,但通常不推荐这种语法)。

使用第一种import语句导入模块中的成员时,必须加上模块名或模块别名前缀;使用第二种 import 语句在模块中导入成员时,不需要使用任何前缀,直接使用成员名或成员别名即可。

下面程序使用导入整个模块的最简单语法来导入指定模块:

# 导入sys整个模块
import sys
# 使用sys模块名作为前缀来访问模块中的成员
print(sys.argv[0])

上面的第 2 行以最简单的方式导入 sys 模块,因此在程序中使用 sys 模块的成员时,必须添加模块名称作为前缀。

运行上述程序,可以看到如下输出(sys模块下的argv变量用于获取运行Python程序的命令行参数,其中argv[0]用于获取Python程序的程序名) .

import test.py

在导入整个模块时可以为模块指定别名。例如如下程序:

# 导入sys整个模块,并指定别名为s
import sys as s
# 使用s模块别名作为前缀来访问模块中的成员
print(s.argv[0])

第二行代码在导入sys模块时指定了别名s,所以在程序中使用sys模块的成员时,必须加上模块别名s作为前缀。运行程序,可以看到如下输出:

import test2.py

使用导入整个模块的语法也可一次导入多个模块,多个模块之间用逗号隔开。例如如下程序:

# 导入sys、os两个模块
import sys,os
# 使用模块名作为前缀来访问模块中的成员
print(sys.argv[0])
# os模块的sep变量代表平台上的路径分隔符
print(os.sep)

上面第二行代码一次性导入sys和os模块,所以程序需要使用sys和os模块中的成员,只要分别使用sys和os模块名作为前缀即可。在Windows平台上运行程序,可以看到如下输出(os模块的sep变量代表平台上的路径分隔符):

import test3.py
\

同时,在导入多个模块时也可以为模块指定别名,例如如下程序:

# 导入sys、os两个模块,并为sys指定别名s,为os指定别名o
import sys as s,os as o
# 使用模块别名作为前缀来访问模块中的成员
print(s.argv[0])
print(o.sep)

上面第二行代码一次导入 sys 和 os 模块,并分别为其分配别名 s 和 o,这样程序就可以使用 s 和 o 前缀来使用 sys 和 os 模块中的成员。在Windows平台上运行程序,可以看到如下输出:

import_test4 .py
\

接下来介绍使用 from...import 导入模块内指定成员的用法。下面程序使用 from...import 导入模块成员的最简单语法来导入指定成员:

# 导入sys模块的argv成员
from sys import argv
# 使用导入成员的语法,直接使用成员名访问
print(argv[0])

第 2 行从 sys 模块导入 argv 成员,这样 argv 成员就可以在程序中直接使用,无需任何前缀。运行程序,可以看到如下输出:

from import test.py

使用 from...import 导入模块成员时,还可以为成员指定别名,例如以下程序:

# 导入sys模块的argv成员,并为其指定别名v
from sys import argv as v
# 使用导入成员(并指定别名)的语法,直接使用成员的别名访问
print(v[0])

第 2 行代码导入了 sys 模块中的 argv 成员,并为该成员指定别名 v,这样即可在程序中通过别名 v 使用 argv 成员,无须使用任何前缀。运行该程序,可以看到如下输出结果:

from import test2.py

使用form...import导入模块成员时,也可以同时导入多个成员,比如下面的程序:

# 导入sys模块的argv,winver成员
from sys import argv, winver
# 使用导入成员的语法,直接使用成员名访问
print(argv[0])
print(winver)

上面第 2 行代码导入了 sys 模块中的 argv、 winver 成员,这样即可在程序中直接使用 argv、winver 两个成员,无须使用任何前缀。运行该程序,可以看到如下输出结果(sys 的 winver 成员记录了该 Python 的版本号):

from import test3.py
3.6

在使用 from...import 同时导入多个模块成员时也可指定别名,同样使用 as 关键字为成员指定别名,例如如下程序:

# 导入sys模块的argv,winver成员,并为其指定别名v、wv
from sys import argv as v, winver as wv
# 使用导入成员(并指定别名)的语法,直接使用成员的别名访问
print(v[0])
print(wv)

上面第二行代码导入sys模块中的argv和winver成员,并分别给它们分配别名v和wv,这样argv和winver成员就可以通过v和wv这两个别名在程序中使用,无需任何字首。 .

在使用 from...import 语法时也可一次导入指定模块内的所有成员,例如如下程序:

#导入sys 棋块内的所有成员
from sys import *
#使用导入成员的语法,直接使用成员的别名访问
print(argv[0])
print(winver)

上面的代码一次性导入了sys模块中的所有成员,这样程序就可以通过成员名来使用模块中的所有成员了。该程序的输出与前一个程序的输出完全相同。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享