次のようなバグに時間をかけすぎました。
>>> class Odp():
def __init__(self):
self.foo = "bar"
>>> o = Odp()
>>> o.raw_foo = 3 # oops - meant o.foo
属性を持つクラスがあります。私はそれを設定しようとしていましたが、なぜ効果がないのだろうと思っていました。次に、元のクラス定義に戻ると、属性の名前が少し異なることがわかりました。したがって、意図したものではなく、新しい属性を作成/設定していました。
まず第一に、これはまさに静的型付け言語が防止するはずのエラーのタイプではないでしょうか? この場合、動的型付けの利点は何ですか?
第二に、 を定義するときにこれを禁止してOdp
、トラブルを回避する方法はありますか?