2017-08-02 38 views
0

運10,64,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) 

我得到以下錯誤...

回溯(最近通話最後一個):文件 「d:/Lattice/variableTest.FCMacro」,第6行,在 類茶bGraph:文件 「d:/Lattice/variableTest.FCMacro」,第12行,在TrabGraph DEF圓(個體,RAD = self.radius):名稱 '自我' 未定義

所以,我試圖。 ..

class TrabGraph: 

    def __init__(self):    
     self.radius = 1.0 

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

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

,並得到了以下錯誤......

回溯(最近通話最後一個):文件 「d:/Lattice/variableTest.FCMacro」,第6行,在 類TrabGraph:文件「D:/Lattice/variableTest.FCMacro」,行12,在TrabGraph 高清圈(個體經營,弧度=半徑):名稱「半徑」沒有定義

那麼它是什麼,我不理解有關對象是如何工作的?我如何使rad的默認值與self.radius相同,但在需要時調用circle方法時仍可以更改它?

回答

0

試試這個

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

TrabGraph(2).circle()