小言_互联网的博客

Python——import 模块

393人阅读  评论(0)

1 模块简介

(本文参考猿说Python: http://www.shuopython.com/archives/1194

在 python 开发中,每一个 .py 文件都可以看作是一个模块,模块内部的函数或者方法可以被其他模块调用。
如果项目的代码有很多行,为了方便代码阅读和维护,我们可以将项目拆分为多个模块,即多个 .py 文件,不同的模块实现不同的功能。

2 模块分类

2.1 系统内置模块

python 中有一些内置模块我们直接调用,比如:sys、time、json 等。

2.2 第三方开源模块

如果要安装第三方开源模块,可以直接快捷键 cmd 打开控制台或者打开 pycharm 终端运行 pip install <模块名> 即可,前提是 anacoanda 已经安装正确。
例如:学习爬虫的时候需要安装 request。

2.3 自定义模块

在某些时候,我们需要自己写模块来供调用,具体实现什么功能由自己决定。
值得注意的是:模块名字不能和内置模块名字一样,会造成冲突。

3 调用模块

使用 import关键字 导入模块,并放置在代码最开始位置。
同一个模块不管执行了多少次 import <模块名>,实际上只会被导入一次。

为了讲解关于模块的调用方法,新建一个计算加减乘除的模块文件 calculator.py,代码如下:

name = "calculator"


def add(x, y):                # 加法
    return x + y


def sub(x, y):                # 减法
    return x - y


def multiplication(x, y):     # 乘法
    return x * y


def division(x, y):           # 除法
    return x / y

3.1 import <模块名>

如果使用 import <模块名>,那么调用模块中的函数时需要指明函数或者变量来自哪个模板:<模块名>.函数名、<模块名>.变量名。

举例,新建一个python文件,输入

import calculator

result1 = calculator.add(2, 5)
print(result1)

result2 = calculator.sub(2, 5)
print(result2)

result3 = calculator.multiplication(2, 5)
print(result3)

result4 = calculator.division(2, 5)
print(result4)

print(calculator.name)

得到

7
-3
10
0.4
calculator

3.2 from <模块名> import <函数或者变量>, <函数或者变量>, <函数或者变量>……

从哪个模块导入哪些函数或者变量,外部导入模块后调用时只能调用导入的函数或者变量,模块中没有导入的变量或者函数不能调用。

举例,新建一个python文件,输入

from calculator import add, sub

result = add(2, 5)
print(result)

result = sub(2, 5)
print(result)

得到

7
-3

3.3 from <模块名> import *

使用 from <模块名> import * 表示直接导入模块中的所有内容,意味着模块中的函数或者变量都可以使用,该写法实际上和第二种导入方法类似。

举例,新建一个python文件,输入

from calculator import *

result1 = add(2, 5)
print(result1)

result2 = sub(2, 5)
print(result2)

result3 = multiplication(2, 5)
print(result3)

result4 = division(2, 5)
print(result4)

print(name)

得到

7
-3
10
0.4
calculator

Ps: 使用该方法导入模块时有一个缺陷:如果同时导入多个模块文件,如果模块中的函数或者变量重名,编译器也不知道具体是用哪一个模块重名的函数或者变量,会造成意想不到的bug,往往这种bug最难查找!

4 总结

  1. python 开发中推荐使用 3.1 的方式导入:import <模块名>。

  2. 注意内置函数和内置模块的区别:内置函数是任何模块都可以直接调用,内置模块需要import模块之后才能调用模块里面的函数。

  3. 不同的模块中可以存在相同的变量名或者函数名,但是不能与内置函数名或者内置模块名字重复,避免造成冲突。

Ps: 有关 import 模块 的知识还可参考我的另一篇博客《莫烦PYTHON——Python3基础教程 学习心得(3)》中的12小节:https://blog.csdn.net/weixin_43559819/article/details/105698600。


转载:https://blog.csdn.net/weixin_43559819/article/details/106071735
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场