2013-02-22 83 views
0

我試圖創建一個新的對象,但我收到錯誤的回溯:實例化在Python - 不可調用的

p1 = point(point.x+jumpValue, point.y) 
TypeError: 'point' object is not callable 

我定義的類在同一個文件:

​​
+1

你覆蓋類定義中使用(非類)點變量。 – 2013-02-22 21:25:04

回答

5

你有一個與相同名稱的變量,而不是這個類。重命名類使用Point代替:

class Point(object): 
    def __init__(self, x, y): 
     self.x = x 
     self.y = y 

然後調用它爲:

p1 = Point(point.x + jumpValue, point.y) 
+0

在python中是爲了大寫類名嗎? – HJM 2013-02-22 21:32:12

+2

@MthethewH。是的。有關更多約定,請參見[PEP 8](http://www.python.org/dev/peps/pep-0008/)。 – delnan 2013-02-22 21:32:41

+0

@MatthewH .:是的,使用CamelCase作爲類名,使用lower_case_with_underscores作爲變量標識符(函數參數,本地等)。 – 2013-02-22 21:35:32