2016-12-17 46 views
2

現在我做:是否有可能在類定義的其餘部分將self.var123設置爲var123?

class Block:   
    def __init__(self, lenght, height, width, position=(0,0)): 

     self.lenght = lenght 
     self.height= height 
     self.width = width 
     self.corner = tuple(position) 

我的代碼是關於塊,確實如此。
而且我還定義了計算該塊體積,表面積等的方法。

我的問題是,當我正在寫這些其他方法時,我不能縮短我的代碼,並使它更容易理解,如果我有length作爲self.length的變量? 是否可以將lenght命名一次,而不是每個方法的開頭?

+0

您需要在每個變量的開始處放置'self.'以顯示其範圍 – doctorlove

+1

注意:您的代碼中的拼寫長度錯誤。你對自己的主要關注點是什麼? – Sayse

回答

0

你總是可以創建一個方法變量您使用了大量的本地參考:

def some_method(self): 
    length = self.length 
    # code that uses length 

self當地人不能以其他方式屬性,沒有。

+0

所以我會在每個方法開始時都這樣做,但是沒有辦法只做一次?好的,謝謝你的快速回答! :) – YarrikV

+0

@YarrikV:不,我在我的回答中已經說過了什麼:*您無法以其他方式在自己的本地人上創建屬性*。並不是每個方法都需要* all *屬性。 –

相關問題