Python基础之模块和包

本文介绍了Python中的模块和包的概念。模块是扩展名为.py的源代码文件,包含可复用的函数、类和变量。导入模块有两种方式:import和from...import。包是一个包含多个模块的特殊目录,其下有__init__.py文件,用于组织和管理代码。通过import包名可以导入整个包,或者使用from...import选择导入特定工具。包的命名遵循小写字母和下划线的规则,导入时可以使用别名避免命名冲突。

目录

1.模块

2.包

1.模块

每一个扩展名以py结尾的源代码文件都是一个模块

模块名同样也是一个标识符,需要符合标识符的命名规范

在模块中定义的全局变量,函数,类都是提供给外界使用的工具

模块就好比时一个工具包,要使用模块中的工具,需要先导入模块

模块导入有两种方式

1.import 模块1,模块2

import 模块1

import 模块2

导入模块后,可以使用模块名.使用模块中的全局变量,函数,类等

可以通过import 模块名 as 别名给模块取别名 # 注意:模块别名要符合大驼峰命名

2.导入模块中部分工具

from 模块名 import 工具名

导入后不需要通过模块名.使用,而是可以直接使用函数,类,全局变量等

如果两个模块存在同名函数,后导入函数会覆盖先导入函数

注意:一旦发现冲突,可以使用as给其中一个工具取别名

模块的搜索顺序:

python解释器在导入模块时,首先会在当前目录搜索指定模块名,没有搜索到会到系统目录搜索指定模块名。

在开发时,给文件起名不要和系统模块重名,python中每一个模块都有一个内置属性__file__可以查看模块的完整路径。

__name__属性:

__name__属性可以做到,测试模块代码只在测试时候运行,而在被导入时不会运行。

__name__记录着一个字符串,在当前程序运行时,"__main__",在被导入时是模块名

2.包

包是一个包含多个模块的特殊目录

目录下面有一个__init__文件

包的命名方式和变量名,小写字母+_

使用import 包名,可以一次性导入包中所有模块

要在外界中使用包中模块,需要在init.py中指定对外界提供的模块列表

Python 中,导入模块有多种语法,以下是一些常见的方式: ### 导入整个模块 使用 `import` 语句可以导入整个模块,之后通过模块名来访问其中的属性方法。 ```python import math result = math.sqrt(16) print(result) ``` ### 导入模块并取别名 为了简化代码或者避免命名冲突,可以在导入模块时为其指定一个别名。 ```python import math as m result = m.sqrt(25) print(result) ``` ### 从模块中导入特定的属性或方法 使用 `from ... import ...` 语句可以从模块中导入特定的属性或方法,这样在使用时就不需要通过模块名来引用。 ```python from math import sqrt result = sqrt(36) print(result) ``` ### 从模块中导入多个特定的属性或方法 可以在 `from ... import ...` 语句中指定多个属性或方法,用逗号分隔。 ```python from math import sqrt, pi area = pi * sqrt(4) ** 2 print(area) ``` ### 从模块中导入所有属性方法 使用 `from ... import *` 语句可以导入模块中的所有属性方法,但这种方式不推荐,因为可能会导致命名冲突。 ```python from math import * result = sqrt(49) print(result) ``` ### 导入中的模块 如果要导入中的模块,可以使用点号来指定模块的层次结构。 ```python # 假设 mypackage 是一个,module1 是其中的一个模块 import mypackage.module1 mypackage.module1.some_function() ``` ### 从中导入特定模块并取别名 ```python import mypackage.module1 as mod1 mod1.some_function() ``` ### 从模块中导入特定属性或方法 ```python from mypackage.module1 import some_function some_function() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值