如何组织包含大量常量和异常的Python模块?

如何组织包含大量常量和异常的Python模块?,第1张

概述我正在编写一个 Python模块,它只有大约20种有趣的类型和全局方法,但有很多常量和异常(大约70个常量用于语言环境,60个常量用于编码,20个格式化属性,超过200个异常,等等).因此,此模块上的help()会生成大约16,000行文本,并且每个异常的描述几乎相同.常数并不是那么苛刻,但仍难以导航它们. 组织这样一个模块的pythonic方法是什么?只是保持原样并依赖其他文档?将常量移动到单独 我正在编写一个 Python模块,它只有大约20种有趣的类型和全局方法,但有很多常量和异常(大约70个常量用于语言环境,60个常量用于编码,20个格式化属性,超过200个异常,等等).因此,此模块上的help()会生成大约16,000行文本,并且每个异常的描述几乎相同.常数并不是那么苛刻,但仍难以导航它们.

组织这样一个模块的pythonic方法是什么?只是保持原样并依赖其他文档?将常量移动到单独的词组中?进入子模块?在适当的地方将它们添加为类级常量?

请注意,这是一个C扩展,所以我不能在这里轻松添加一个真正的子模块.我听说sys.modules没有真正检查对象是否有模块,所以可以在那里添加字典;这样我就可以创建mymodule.locales,mymodule.enCoding和mymodule.exceptions,并在导入模块时将它们添加到sys.modules中.这是一个好主意还是过于讨厌?

解决方法 有两种方法可以解决您的问题.第一种方法是对所有常量和异常进行分类,并使用较少数量的更广泛的类别.这样您就可以轻松导航到您想要的类别.字典(或可能是嵌套的字典)是实现此目的的好方法,因为您可以维护带有标题的组.第二种方法是,如果你想更多地自定义管理,你可以做一个类似于字典的类.它将有一个子对象列表.这样,您可以创建唯一的,更易于访问的方法来浏览所有常量和异常,例如处理几个类似异常的新异常类.另一种使其更清洁的方法是将所有这些异常分成一小组异常,这些异常可以处理类似问题的组.这可能是处理异常的更好方法,但您可能无法访问源来修改此异常. 总结

以上是内存溢出为你收集整理的如何组织包含大量常量和异常的Python模块?全部内容,希望文章能够帮你解决如何组织包含大量常量和异常的Python模块?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1196801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存