Python编程:模块与包

简介: Python编程:模块与包

1.定义

模块:用来从逻辑上组织python代码(变量,函数,类),实现一个功能,本质是.py结尾的python文件,(文件名:test.py,对应的模块名:test)


包:用来从逻辑上组织模块,本质是一个目录(必须包含init.py文件)


2.导入方法

导入单个:


import module


导入多个:


import module1, module2


导入所有:


from module import *  # 不推荐,易引起冲突


导入部分:


from module import func1,func2


取别名:


from module import func as func_other


导入同一包内的模块


from . import module  # “.”代表当前路径,相对路径
from package import module # 此方法pycharm找不到模块,但是可以运行

跨目录导入


import sys
import os
BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  
# 获取绝对路径,回到项目根目录
sys.path.append(BASE_PATH)  
# 为程序添加搜索路径,把自定义路径放到最前面,优化搜索
import package  # 导入包,运行init文件

3.import本质

导入模块的本质:把python文件解释一遍


import xxx   # 整个文件代码执行一遍,赋值给xxx  (xxx = "all code in xxx")
from module import xxx   # 找到xxx代码单独执行
# import module_name  -->  module_name.py  -->  module_name的路径  -->  sys.path

导入包的本质:执行目录下init.py文件


4.导入优化

多次调用xxx,推荐:


from module import xxx   # 找到xxx代码单独执行

5.模块的分类

a.标准库

b.开源模块

c.自定义模块

相关文章
|
1天前
|
Python Windows
python中的异常与模块
python中的异常与模块
8 1
|
2天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
13 5
|
4天前
|
Python
在Python中快捷引入缺失包的技巧和实践
在Python中快捷引入缺失包的技巧和实践
10 0
|
4天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
|
5天前
|
测试技术 Python
Python模块化方式编程实践
Python模块化编程提升代码质量,包括:定义专注单一任务的模块;使用`import`导入模块;封装函数和类,明确命名便于重用;避免全局变量降低耦合;使用文档字符串增强可读性;为每个模块写单元测试确保正确性;重用模块作为库;定期维护更新以适应Python新版本。遵循这些实践,可提高代码可读性、重用性和可维护性。
25 2
|
9天前
|
域名解析 JSON API
Python小工具包
【5月更文挑战第2天】构建了一个Python小工具包,包含获取IP、域名解析、JSON格式化和时间戳转换的函数。通过`get_ip_address`和`resolve_domain`实现网络任务,`format_json`用于美化JSON数据,`timestamp_to_datetime`转换时间戳。这些函数可提高开发效率,易于整合到项目中,展现Python的简洁和灵活性。
19 1
Python小工具包
|
11天前
|
测试技术 调度 索引
python编程中常见的问题
【4月更文挑战第23天】
31 2
|
11天前
|
JSON 数据格式 Python
Python标准库中包含了json模块,可以帮助你轻松处理JSON数据
【4月更文挑战第30天】Python的json模块简化了JSON数据与Python对象之间的转换。使用`json.dumps()`可将字典转为JSON字符串,如`{"name": "John", "age": 30, "city": "New York"}`,而`json.loads()`则能将JSON字符串转回字典。通过`json.load()`从文件读取JSON数据,`json.dump()`则用于将数据写入文件。
16 1
|
11天前
|
Python
Python实现压缩解压---tarfile模块详解
Python实现压缩解压---tarfile模块详解
|
11天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver