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_ ()で呼び出される「小さなメソッド」(コードを分割し、読みやすくするため) が多数ある複雑なクラスを想像してみてください。