2017-08-02 13 views
0

勝利10、x64のを、Pythonの2.7.8カントは、デフォルト値としてメソッドをオブジェクトへのオブジェクト変数を渡す - Pythonの

私は次のことをimplimentしようとしている(これは完全なコードのストリップダウンバージョンですが、複製問題)私は次のエラーを取得する

class TrabGraph: 

    def __init__(self):    
     self.radius = 1.0 

    def circle(self, rad=self.radius): 
     print rad 

test = TrabGraph() 
test.circle(rad=2.0) 

...

トレースバックの最後(最新のコール): クラスでは、6行目、: "/Lattice/variableTest.FCMacro Dを" ファイルTra bGraph:TrabGraph デフ円(自己、RAD = self.radius)で、12行目: "/Lattice/variableTest.FCMacro Dを":ファイル:名 '自己' が

が定義されていないので、私が試しました。 ..

class TrabGraph: 

    def __init__(self):    
     self.radius = 1.0 

    def circle(self, rad=radius): 
     print rad 

test = TrabGraph() 
test.circle(rad=2.0) 

と、次のエラーを得た...

トレースバック(最新の呼び出しの最後): クラスでは、6行目:ファイル "/Lattice/variableTest.FCMacro D" TrabGraph:ファイル "D:/Lattice/variableTest.FCMacro"、行12は、TrabGraph デフ円(自己、RAD =半径)で::名「半径」が

が定義されていないので、私は、オブジェクトがどのように働くかについては理解していないよということは何ですか? radのデフォルト値をself.radiusと同じにするにはどうすればよいですか?必要な場合はcircleメソッドを呼び出すと変更できますか?

答えて

0

試してみる

class TrabGraph: 
    def circle(self): 
     print (self.radius) 
    def __init__(self,radius):    
     self.radius = radius 

TrabGraph(2).circle() 
関連する問題