【python图解】理解 Python 模块导入

【python图解】理解 Python 模块导入

在我们理解函数等python的基本语法之后,后面我们需要熟练掌握 Python 的模块化编程,理解如何有效地使用和管理模块。这不仅有助于提高代码的可维护性和可重用性,还能让我们避免重复工作,提升开发效率。

基本概念

模块就像工具箱

想象一下,你是一位工匠,做木工活。你有一个工具箱,里面放满了各种工具:锤子、锯子、螺丝刀、钳子等。每当你需要某个工具时,你就从工具箱里拿出来使用。

在 Python 中,模块就像是这个工具箱。每个模块里面都包含了一些功能(工具),比如函数、类和变量。你可以通过导入模块,就像是打开工具箱,拿出你需要的工具来用。

使用的基本语法

import 的使用

假设你需要做木工活时,决定一次性拿出整个工具箱,这样工具箱里的每样工具你都能用到。

在 Python 中,当你使用 import 语句时,就像是拿出整个模块。你可以通过模块名来访问其中的所有工具(函数、类和变量)。

math是python自带的本地库,可以直接使用

示例

import math  # 拿出整个工具箱 'math'print(math.sqrt(16))  # 使用工具箱里的 'sqrt' 工具print(math.pi)        # 使用工具箱里的 'pi' 工具

在上面的例子中,math 就是你的工具箱,sqrt 和 pi 是其中的工具。你通过 math.sqrt() 和 math.pi 来访问这些工具。

from ... import ...

如果你只需要用到其中的某个工具,而不想搬整个工具箱,你可以直接把所需工具拿出来,这样既方便又节省空间。

在 Python 中,from ... import ... 就像是从工具箱中直接拿出一个具体的工具。这样你就可以直接使用工具的名字,而不用通过模块名来调用。

示例

from math import sqrt  # 只拿出 'sqrt' 工具print(sqrt(16))  # 直接使用 'sqrt' 工具

在这个例子中,你直接拿出了 sqrt 工具,因此使用时不需要再加上 math. 前缀。

as 的使用

有时候工具箱里的工具名字太长或者不好记,我们可以给工具起个更简短或者更容易记的别名。这样在使用的时候更加方便。

在 Python 中,as 关键字就像是给工具(模块)取个别名,使得代码更加简洁。

示例

python复制代码import math as m  # 给 'math' 工具箱取个别名 'm'print(m.sqrt(16))  # 使用别名 'm' 访问 'sqrt'

在这个例子中,你将 math 这个工具箱的名字简化为 m,然后通过 m.sqrt(16) 来使用工具。

from ... import * 的使用

如果你一次性将工具箱里所有的工具都搬到工作台上,这样所有的工具都能随时使用。虽然这听起来很方便,但可能会占用过多的空间,甚至可能有一些工具的名字与其他工具重复,造成混乱。

在 Python 中,from ... import * 会导入模块中的所有内容,这样你可以直接使用模块里的任何函数、类或变量,但这通常会让代码的可读性变差,不推荐频繁使用。

示例

from math import *  # 一次性拿出 'math' 工具箱里的所有工具print(sqrt(16))  # 可以直接使用 'sqrt',无需通过模块名

在这个例子中,sqrt 被直接导入到了当前命名空间,你可以直接调用,而不需要再加上 math.

模块的搜索路径:工具箱的存放位置

比如说当你需要一个工具时,你会去寻找最近的工具箱。如果工具箱不在工作台上,你就会去仓库找,甚至去邻居家借。Python 模块的导入机制也是类似的:它会在特定的目录下寻找你所导入的模块。

  

• 首先,它会查找当前目录(你工作桌上的工具箱)。

• 如果没有,它会查找 Python 的安装目录(工具厂商提供的标准工具箱)

• 然后,它会查找环境变量中指定的路径(就像去邻居家借工具)。

你可以通过 sys.path 查看 Python 的搜索路径,并且可以自己添加新的路径。

import sysprint(sys.path)  # 查看搜索路径

Python 内置模块:常用工具箱

Python 提供了很多常用的工具箱(内置模块),你可以直接导入使用。比如:

• math:数学计算工具箱

• os:操作系统工具箱(用于文件和目录管理)

• sys:系统工具箱(与 Python 解释器相关)

• datetime:日期和时间工具箱

• random:随机数工具箱

这些工具箱是 Python 自带的,你无需自己去创建,只要通过 import 导入就可以使用。

示例

import random  # 导入随机数工具箱print(random.randint(1, 10))  # 使用随机数工具箱中的 'randint' 工具

总结

  • 模块 就像一个工具箱,包含各种功能(工具)。

  •  使用 import 可以一次性拿出整个工具箱,from ... import ... 可以只拿出需要的工具,as 可以给工具箱或工具取个别名。

  • from ... import * 会把所有工具都拿出来,但不推荐使用,因为可能会造成混乱。

  • Python 会根据一系列路径来寻找你所需要的模块,就像寻找工具箱一样。

  • 内置模块就像是常见的工具箱,可以直接拿来使用。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值