Python:使用缩略语命名

时间:2014-03-02 21:12:37

标签: python coding-style

在Python代码中,在命名类,方法和变量时,处理众所周知的首字母缩略词的规范方法是什么?

例如,考虑一个处理RSS提要的类。那会是这样的:

class RSSClassOne:
    def RSSMethod(self):
        self.RSS_variable = True

class ClassRSSTwo:
    def MethodRSS(self):
        self.variable_RSS = True

或者这个:

class RssClassOne:
    def rssMethod(self):
        self.rss_variable = True

class ClassRssTwo:
    def MethodRss(self):
        self.variable_rss = True

即。更重要的是,保留首字母缩略词或PEP 008的建议?

从回答中

编辑,我得出结论,这将是要走的路:

class RSSClassOne:
    def rss_method(self):
        self.rss_variable = True

class ClassRSSTwo:
    def method_rss(self):
        self.variable_rss = True

3 个答案:

答案 0 :(得分:8)

嗯,事实证明,PEP 8已经涵盖了here这个主题:

  

注意:在CapWords中使用缩写时,请将所有字母大写   的缩写。因此HTTPServerError胜过。{1}}   HttpServerError

换句话说,包含首字母缩略词的名称的Python约定是:

  1. 在类名中保持首字母大写(通常是使用CapWords的Python的唯一部分)。

  2. 在其他地方,将它们设为小写以符合其他naming conventions

  3. 以下是ipaddress module的演示:

    >>> import ipaddress  # IP is lowercase because this is a module
    >>> ipaddress.IPv4Address  # IP is uppercase because this is a class
    <class 'ipaddress.IPv4Address'>
    >>> ipaddress.ip_network  # IP is lowercase because this is a function
    <function ip_network at 0x0242C468>
    >>>
    

答案 1 :(得分:1)

我认为第一个根本没有任何问题。作为首字母缩略词代表一系列单词,并且在Python class名称中,您在每个单词的开头处CamelCase,可以将首字母缩略词中的每个字母(单词)大写。

第一个代码示例因此符合Python代码的样式指南,可能超过第二个。简而言之,第一个因为PEP8构造 非常重要。 :)

请记住,有些有时(尽管很少)实例可以略微弯曲这些规则。这可以被认为是其中之一。

答案 2 :(得分:0)

我想说按照PEP 8中的建议,首先要做的是编码风格。