您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

何时在Python中使用一两个下划线

何时在Python中使用一两个下划线

答案很简单:使用一个前导下划线,除非你有一个 真正 令人信服的理由不这样做(甚至再三思而后行)。

长答案:

下划线表示“这是一个实现细节”(属性方法函数等),在Python中与Java中的“ protected”等效。对于不属于类/模块/包公共API的名称,应使用此名称。这只是一个命名约定(通常- 星号导入将忽略它们,但是您不是在Python外壳中进行星号导入吗?)因此它不会阻止任何人访问此名称,但随后它们会如果出现任何问题,请自行承担责任(请参阅“未密封的保修无效”之类的提法)。

两个下划线会触发名称处理机制。很少有使用此功能的正当理由-实际上,我能想到的只有一个(并有记录):保护一个名称,以免在复杂框架的内部环境中被 覆盖。例如,在整个django代码库(主要在django.utils.functional软件包中)中,大约有六打或更少的这种命名方案实例。

就我而言,我必须在15年以上的时间里使用此功能三次,即使这样,我仍然不确定我是否真的需要它。

python 2022/1/1 18:40:56 有279人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶