具有相同基本名称的Python模块,类和实例变量的正确命名约定是什么?

时间:2011-10-27 11:30:51

标签: python naming-conventions

首先,我完全了解PEP8,但有时你不清楚如何命名。

我们假设我们有ABC作为缩写。

  • 模块应命名为:abc
  • 模块内的
  • 应命名为:AbcABC? (不确定)
  • 实例变量应命名为abc
# abc.py
CONSTANT = "foo"
class Abc(object):
    pass

# test.py
import abc

print abc.CONSTANT
abc_ = abc.Abc() # oops, if I use `abc` will lose ability to access abc.FOO ?

如果abc模块中有一个常量,你可能想从外面使用abc.CONSTANT来访问它,但如果你也有同名实例,那么它将不清楚?

如果有一个干净的方法来解决这类问题?解决方案是否有所不同,如果不是首字母缩略词,你只需要一个简单的词?

注意:Abc()类大部分时间都是Singleton,因此我无法为该实例找到另一个名称。

2 个答案:

答案 0 :(得分:1)

模块:abc 分类:Abc

实例:实例可以像类一样命名,但绝对不需要。 在你的情况下,我给变量一个描述实例的名称,以避免命名冲突!

示例:

class Car:
    pass
audi = Car()
myCar = Car()
myBrothersCar = Car()

答案 1 :(得分:0)

类名可以是AbcABC,具体取决于它是缩写还是普通名称。

缩写示例:CRCCheckerTool