2016-11-13 13 views
0

ここに私のコードは(Python)クラス内の異なるメソッドから変数にアクセス/使用する方法は?

class Circle(object): 
    def __init__(self, radius = 1): 
     self_radius = radius 

    def __str__(self): 
     return "Circle with radius {}".format(self_radius) 

だ私は先生のスライドからそれを取った、それが(例えば、-for =サークル(25))と呼ばれる場合は整数値(半径)を取った後、半径--Circle返します25--私はそれを印刷したときに私が行うとき

問題ではなく、それを取得し、私はそのself_radiusが(STR方法で)定義されていないというエラーを得たので、質問は異なった方法で変数を使用する方法である、ということですそれが起源よりも?

+0

これは '_'ではなく、' _'です。 – TigerhawkT3

答えて

1

は、インスタンスを修飾ありがとうself.、ないself_を持つ属性:

class Circle(object): 
    def __init__(self, radius = 1): 
     self.radius = radius 

    def __str__(self): 
     return "Circle with radius {}".format(self.radius) 

あなたは変数self_radiusに名前を付ける場合は、ローカル変数になります。他の方法からはアクセスできない。

+0

私はそれを試して、それは作品です!ありがとう! –

+0

あなたはどのような変数self.namesになるのか説明できますか? –

+0

@IbnuFirdaus、インスタンス変数になります。クラスについてのチュートリアル(https://docs.python.org/3/tutorial/classes.html)を読むことは参考になります。 – falsetru

関連する問題