流暢なPythonの最初のプログラム。私はプログラムを簡素化した。python __init__ class属性、クラステストはいつ準備完了ですか?
class Test:
a = 15
def __init__(self):
self.att = a
t = Test()
print(t.att)
それは動作しませんでした、と私は
self.att = Test.a
を使用している場合、それは働きました。 TestクラスでもTest.aを常に使用する必要があるのはなぜですか? 私はjavaを学んだので、そうする必要はありません。
また別の問題があります。
class Test:
a = 15
def __init__(self, b=Test.a):
self.att = b
t = Test()
print(t.att)
これは機能しませんでした。私はそのサイトを検索した。 その理由は次のとおりです。 デフォルトの引数は、関数の定義中に定義する必要があります。
そして
self.att = Test.a
以降は働いていたので、機能の内容は、呼び出されるまで有効かチェックされるのですか?
私は正しいですか?
クラステストは#1の後で準備ができていますが、前には、呼び出される前に関数の内容をチェックしていないため、Test.aを使用しました。右?このようにアクセスすることの必要性などの
class Test:
a = 15
def __init__(self):
self.att = Test.a
#1
t = Test()
print(t.att)
https://docs.python.org/3/tutorial/classes.html#classes – wwii