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

标签 python naming-conventions

首先,我完全了解 PEP8 , 但有时对于如何命名事物并不是很清楚。

假设我们有 ABC 作为缩写。

  • Module 应命名为:abc
  • 模块内的
  • Class应该命名为:Abc还是ABC? (不确定)
  • Instance 变量应命名为 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() 类大部分时间都作为单例运行,因此我无法为该实例找到另一个名称。

最佳答案

模块:abc 类(class):Abc

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

例子:

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

关于python - 具有相同基本名称的 Python 模块、类和实例变量的正确命名约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7915251/

相关文章:

python - 我没有正确使用setter方法吗?

ruby-on-rails - 哪些 Rails 文件首先通过 ERB 解析?

python - 使用 NLTK 创建语料库时评估二元组不起作用

python - Django TastyPie : how do I return something other than 500 for UnsupportedFormat?

python - 读取缺少数据的表

c - C中构造函数和析构函数的命名约定

java - 有什么方法可以使用 Checkstyle 强制执行枚举类型命名约定吗?

java - 具有与之关联的方法的静态对象是否应该大写?

php - 在 PHP 中大写类名背后的基本原理是什么?如果是命名空间怎么办?

python - map 是如何工作的