gpt4 book ai didi

Python中规范定义命名空间的一些建议

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python中规范定义命名空间的一些建议由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

API的设计是一个艺术活。往往需要其简单、易懂、整洁、不累赘。 很多时候,我们在底层封装一个方法给高层用,而其它的方法只是为了辅助这个方法的。 也就是说我们只需要暴露这个方法就行,不用关心这个方法是怎么实现的,不用关心其它辅助方法的存在。 在Python中,有几种策略来保持命名空间的整洁.

1.变量命名用下划线_开头 下划线_开头的变量在其它模块from xxx import *的时候不被import。 如果你看decimal的源码,就会发现多次把import 的模块弄成下划线_开头的别名。 http://hg.python.org/cpython/file/2.7/Lib/decimal.py 比如 。

?
1
2
3
import copy as _copy
import math as _math
import numbers as _numbers

这不是蛋疼,是为了不污染命名空间 。

2.定义__all__ python的魔术方法实在是灵活。 假设我模块中有3个方法a(),b(),c() 我只是要暴露a而已,不需要暴露b和c。 这时__all__=[a] 在其它模块from xxxmodule import *的时候就只import了a了。 而且在开发者阅读源码的时候,看到了__all__,一下子就知道要暴露的是哪些方法,而不是一堆代码无从下手.

3.在使用了这个变量后删掉 通过del xxx删掉。 这样在dir(xxxmodule)的时候就减少了dir出来满屏的变量了。 同样在decimal的源码,可以看到使用了正则表达式模块re之后,用del re删掉了。 还有一种方法就是把import语句放在函数内,将其限制在局部作用域中。感觉这种方法不pythonic,就不推荐了.

最后此篇关于Python中规范定义命名空间的一些建议的文章就讲到这里了,如果你想了解更多关于Python中规范定义命名空间的一些建议的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com