pythonクラス属性とインスタンス属性について調べていると、オブジェクトメソッド(またはクラスメソッド)の外部でオブジェクト属性を作成できないことがわかりました。以下のコードのように、Pythonで「NameError」が生成されます。
class test(object):
def __init__(self):
self.lst = []
self.str = 'xyz'
なぜPythonはこれを許可しないのですか?私は言語作成者の決定に疑問を投げかけていませんが、その背後にある理由は何でもあります。同様に、それは技術的に正しくないのか、それともこの振る舞いの他の不利な点なのか。