一、什么是python的模块
Python
提供了强大的
模块
支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。
那么,模块到底指的是什么呢?模块,英文为 Modules,至于模块到底是什么,可以用
话总结:
模块就是 Python 程序
。换句话说,任何 Python 程序都可以作为模块。
二、如何导入模块
使用 Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。比如说,在前面章节中,我们使用了一些数学函数,例如余弦函数 cos()、绝对值函数 fabs() 等,它们位于 Python 标准库中的 math(或 cmath)模块中,只需要将此模块导入到当前程序,就可以直接拿来用。
举个简单的例子,在某一目录下(桌面也可以)创建一个名为 hello.py 文件,其包含的代码如下:
def say (): print("Hello,World!")
在同一目录下,再创建一个 say.py 文件,其包含的代码如下:
#通过 import 关键字,将 hello.py 模块引入此文件import hellohello.say()
运行 say.py 文件,其输出结果为:
Hello,World!
读者可能注意到,say.py 文件中使用了原本在 hello.py 文件中才有的 say() 函数,相对于 day.py 来说,hello.py 就是一个自定义的模块,我们只需要将 hellp.py 模块导入到 say.py 文件中,就可以直接在 say.py 文件中使用模块中的资源。
与此同时,当调用模块中的 say() 函数时,使用的语法格式为“
模块名.函数”,这是因为,相对于 say.py 文件,hello.py 文件中的代码自成一个命名空间,因此在调用其他模块中的函数时,需要明确指明函数的出处,否则 Python 解释器将会报错。
import 还有更多详细的用法,主要有以下两种:
import 模块名1 [as 别名1], 模块名2 [as 别名2],…
:使用这种语法格式的 import 语句,会导入指定模块中的所有成员(包括变量、函数、类等)。不仅如此,当需要使用模块中的成员时,需用该模块名(或别名)作为前缀,否则 Python 解释器会报错。from 模块名 import 成员名1 [as 别名1],成员名2 [as 别名2],…
: 使用这种语法格式的 import 语句,只会导入模块中指定的成员,而不是全部成员。同时,当程序中使用该成员时,无需附加任何前缀,直接使用成员名(或别名)即可。
注意,用 [] 括起来的部分,可以使用,也可以省略。
不推荐使用 from import 导入模块所有成员
在使用 from...import 语法时,可以一次导入指定模块内的所有成员( 此方式不推荐 ), 因为它存在潜在的风险。
在导入模块文件中,发现了个问题,模块文件名如果包含空格,或者以数字开头的模块文件名,在导入时候会报错。
查阅了一些资料后,发现可以用‘_import__‘方法。把__import__的返回值当做模块使用就能完美解决此类问题。
abc = __import__("12-12 abc")
参考:
http://c.biancheng.net/view/2398.html
http://www.bubuko.com/infodetail-3472328.html
https://blog.csdn.net/weixin_38256474/article/details/81228492