2017-11-18 8 views
-1

私はPythonを初めて使うので、これは愚かな質問かもしれません。別のクラスメソッドで_init_ defined属性を変更するPython

Class A: 
    def _init_(self): 
     self.var1 = 2 

    def update(self): 
     self.var1 = 3 

しかし、常にPyCharmでエラーになって: は、私がこれを書いた場合は、var1はのinit外で定義される属性。どうして?

+1

「 '_init_'!= '__init __' 'です。 @ S.R。それは実行されますが、OPが期待するようにはうまくいかないでしょう。 – jonrsharpe

+0

@jonrsharpe - ニースキャッチ!彼らが継承を使用する場合、問題になります –

答えて

1

エラーが表示されるのは誤植によるものです。 init()と同様の関数を書くときに、 '_'を二重のアンダースコアで置き換えてください。正しいコードは次のとおりです。

class A: 
    def __init__(self): 
     self.var1 = 3 
    def update(self): 
     self.var1 = 4 
+0

1.インデントはPythonで重要です。 2.タイプミスの質問は、そのように閉じなければなりません。 – jonrsharpe

+0

私は応答プラットフォームを初めて使い、間違っていた場所を助けたいと考えています。乾杯! – Ranganathan

関連する問題