2013-10-18 50 views
2

我試圖從一個繼承中移動所有類。 我寫了這個小腳本:必須使用實例作爲第一個參數調用unbound方法(取而代之)

class c1: 
    def move(): 
     x+=1 
     y+=1 
class c2(c1): 
    y=1 
    x=2 
c=c2 
c.move() 
print(str(c.x)+" , "+str(c.y)) 

當我運行它,我得到:

Traceback (most recent call last): File "/home/tor/Workspace/try.py", line 9, in <module> 
    c.move() TypeError: unbound method move() must be called with c2 instance as first argument (got nothing instead) [Finished in 0.1s 
with exit code 1] 

我做了什麼錯?

+1

您沒有實例化任何類。 –

+4

你的意思是做'c = c2()'和'c.move()'嗎? –

+3

您需要先了解Classes:http://docs.python.org/2/tutorial/classes.html –

回答

9
  1. 你不要實例什麼

  2. 所有的方法都必須至少需要一個參數,傳統上被稱爲self

  3. 您需要self才能訪問對象字段。您的代碼現在修改了該範圍中不存在的局部變量。

相關問題