什么命名规范可以用来区分属性和方法?

2024-09-27 23:16:36 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的项目中,我有许多方法和属性,它们的名称模式类似于“is_u”、“has_u”,等等

我必须记住每次检查,看看像^{cd1>}这样的名称是方法还是属性,但有时我可能太懒了,无法进行检查。

单元测试可以帮助我避免许多这样的错误,例如,如果我试图在实际是属性时调用^{{cd2>}时,测试将失败。

但是并非所有错误都可以通过这种方式捕获,特别是当涉及模拟对象时,例如,我可能有一个类X:

class X(object):
    @property
    def is_ready(self):
        return True

我用这种方式模拟X的实例:

^{pr2}$

这很好,因为指定^{{cd3>}的模拟对象只能检查属性名称是否有效,因此它无法帮助您检查属性是否被错误用作方法。

所以我想我应该使用一个命名约定来区分方法和属性。


Tags: 项目对象方法名称属性is错误方式
1条回答
网友
1楼 · 发布于 2024-09-27 23:16:36

请访问-https://www.python.org/dev/peps/pep-0008/

我在项目中使用的首选项

  1. 类名-Capwords-例如StoreManaget
  2. 方法名-大写,用下划线隔开-例如-Get_Store_Item
  3. 属性名-小写,单词用下划线隔开-例如-store_location
  4. 全局属性名-小写,单词之间用下划线隔开(前缀为g_u)-例如-g_store_id
  5. 常量名大写-例如TOTAL

约定可能因人而异,但这些命名约定有助于我避免陷入需要花费时间确定属性是否为Method/variable/Constant/Global variable的情况。在

相关问题 更多 >

    热门问题