好的,在下面的代码中,属性名称应该是什么?
class ClassOne(object):
a = 1
class ClassTwo(object):
some_class = ClassOne
def _get_other_class(self):
return self._other_class
def _set_other_class(self, value):
self._other_class = value
other_class = property(_get_other_class, _set_other_class)
class InnerClass(object):
b = 2
“some_class”更适合“some_class”,因为它是一个属性,还是“SomeClass”,因为它引用了一个类?与“other_class”相同。所以第二个选项更像是:
class ClassOne(object):
a = 1
class ClassTwo(object):
SomeClass = ClassOne
def _get_other_class(self):
return self._other_class
def _set_other_class(self, value):
self._other_class = value
OtherClass = property(_get_other_class, _set_other_class)
class InnerClass(object):
b = 2
如果大写它们似乎更清楚它们是类,但 pep8 说属性应该是带有下划线的小写。但是,InnerClass 最终成为 ClassTwo 的一个属性,名称大写。