我有兩種方法在裏面,一個靜態的,另一個沒有靜態類:不受約束的方法錯誤而調用靜態方法
class Person(object):
def getDetails(self):
Person.change_something(self.name)
@staticmethod
def change_something(name):
return name.upper()
當我創建一個類Person的一個實例,並調用person.getDetails()
,我得到錯誤,說unbound method change_something() must be called with Person instance as first argument (got str instance instead)
。任何人都可以指出我在這裏做錯了什麼?
你使用Python 2或3嗎? – BrenBarn 2012-08-08 08:13:20
這不是一個完整的,可測試的例子(冒號缺失)。請發佈您的真實代碼,但嘗試將其簡化爲再現問題的最簡單形式(例如:self.name可以替換爲:「test」)。我們需要一個我們可以複製粘貼的代碼,包括對象創建和調用,一切。 – 2012-08-08 08:24:36