与Python标准库模块命名冲突

Python的一个优秀的地方在于它提供了丰富的库模块。但是这样的结果是,如果你不下意识的避免,很容易你会遇到你自己的模块的名字与某个随Python附带的标准库的名字冲突的情况(比如,你的代码中可能有一个叫做email.py的模块,它就会与标准库中同名的模块冲突)。

这会导致一些很粗糙的问题,例如当你想加载某个库,这个库需要加载Python标准库里的某个模块,结果呢,因为你有一个与标准库里的模块同名的模块,这个包错误的将你的模块加载了进去,而不是加载Python标准库里的那个模块。这样一来就会有麻烦了。

所以在给模块起名字的时候要小心了,得避免与Python标准库中的模块重名。相比起你提交一个“Python改进建议(Python Enhancement Proposal (PEP))”去向上要求改一个标准库里包的名字,并得到批准来说,你把自己的那个模块重新改个名字要简单得多。

知识点扩充:

python标准库简介

文本

string:通用字符串操作

re:正则表达式操作

difflib:差异计算工具

textwrap:文本填充

unicodedata:Unicode字符数据库

stringprep:互联网字符串准备工具

readline:GNU按行读取接口

rlcompleter:GNU按行读取的实现函数

二进制数据

struct:将字节解析为打包的二进制数据

codecs:注册表与基类的编解码器

数据类型

datetime:基于日期与时间工具

calendar:通用月份函数

collections:容器数据类型

collections.abc:容器虚基类

heapq:堆队列算法

bisect:数组二分算法

array:高效数值数组

weakref:弱引用

types:内置类型的动态创建与命名

copy:浅拷贝与深拷贝

pprint:格式化输出

reprlib:交替repr()

到此这篇关于Python新手学习标准库模块命名的文章就介绍到这了,更多相关Python标准库模块命名详解内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!