每天开心一点

Python import用法

2020-10-16 11:21:00    六月    693    来源: http://c.biancheng.net/view/2397.html

一、什么是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 还有更多详细的用法,主要有以下两种:

  1. import 模块名1 [as 别名1], 模块名2 [as 别名2],… :使用这种语法格式的 import 语句,会导入指定模块中的所有成员(包括变量、函数、类等)。不仅如此,当需要使用模块中的成员时,需用该模块名(或别名)作为前缀,否则 Python 解释器会报错。

  2. 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