1
:Pythonでは、クラスが定義された後に属性を追加できないのはなぜですか?たとえば
class Car:
pass
jeep = Car()
jeep.color = 'blue'
これは完全に合法であると細かい動作します。私はPythonはかなり動的だが、これはoopのいくつかの原則に違反しないことを理解する?
:Pythonでは、クラスが定義された後に属性を追加できないのはなぜですか?たとえば
class Car:
pass
jeep = Car()
jeep.color = 'blue'
これは完全に合法であると細かい動作します。私はPythonはかなり動的だが、これはoopのいくつかの原則に違反しないことを理解する?
http://docs.python.org/tutorial/classes.html#odds-and-ends
は、動的にそれらが実行時にのみ知ることができるフィールドと値を設定します。
はそうしないと決めることができますが、Pythonはインスタンスプロパティを動的に作成できないわけではありません。はそうする必要はあまりありません。 Pythonは非常に強力な言語ですが、柔軟性を持って狂ったことをするこのような力を乱用しないよう注意しなければなりません。
あなたはどのoopの原則を指していますか? – scravy
これはデータ隠蔽の原則に違反していると主張することができますが、Pythonはそれをまったく強制しません。 –
新しい属性はクラスに属しません – Jhonathan