【发布时间】:2010-12-30 10:39:53
【问题描述】:
在 Python 中,我可以在整个类中声明属性。例如:
class Foo:
def __init__(self):
self.a = 0
def foo(self):
self.b = 0
当我有一个包含很多属性的大类时,很难检索我的类中的所有属性。
是下面的代码(a)还是下面的代码(b)更好:
a)在这里,很难找到所有属性:
class Foo:
def __init__(self):
foo_1()
foo_2()
def foo_1(self):
self.a = 0
self.b = 0
def foo_2(self):
self.c = 0
b)在这里,很容易找到所有属性,但它漂亮吗?
class Foo:
def __init__(self):
(self.a, self.b) = foo_1()
self.c = foo_2()
def foo_1(self):
a = 0
b = 0
return (a, b)
def foo_2(self):
c = 0
return c
简而言之,您在类中声明属性的约定是什么?
编辑:
当然,这是一个简单的例子,我的代码没有必要在这里改进。试想一下在_init_() 中调用的具有大量“小方法”(用于划分我的代码、提高可读性)的复杂类。
【问题讨论】:
-
... 我可以说以上都不是吗?我只是不让我的班级变得足够大而成为问题。
-
您好,“以上都不是”?是否可以 ?那你怎么办? :-)
-
“那你怎么办?”简单的。不要让你的类变得足够大而成为一个问题。让你的班级更小。将事物分解为单独的类。简化。重点。
标签: python convention coding-style