6
Pythonでインスタンス変数のデフォルト値を宣言するにはどうすればよいですか?
クラスメンバーに次のようなデフォルト値を指定する必要があります。 class Foo: num = 1 またはこのように? class Foo: def __init__(self): self.num = 1 で、この質問私は、両方のケースでこれを発見しました bar = Foo() bar.num += 1 明確に定義された操作です。 最初のメソッドはクラス変数を提供しますが、2番目のメソッドは提供しないことを理解しています。ただし、クラス変数を必要とせず、インスタンス変数のデフォルト値を設定するだけでよい場合、両方のメソッドは同等に優れていますか?またはそれらの1つは他よりも「pythonic」ですか? 私が気づいたことの1つは、Djangoチュートリアルでは、2番目のメソッドを使用してモデルを宣言していることです。個人的には2番目の方法の方がエレガントだと思いますが、「標準的な」方法とは何か知りたいです。