2013-02-22 2 views
0

Я пытаюсь создать новый объект, но я получаю ошибку в TRACEBACK:инстанцировании в Python - Не Callable

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

Я определил класс в том же файле:

class point(object): 
    def __init__(self, x, y): 
     self.x = x 
     self.y = y 
+1

Вы перезаписаны ваше определение класса с (не класс) указать переменную. –

ответ

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

+2

@MatthewH. Да. См. [PEP 8] (http://www.python.org/dev/peps/pep-0008/) для получения дополнительной информации. – delnan

+0

@MatthewH .: Да, используйте CamelCase для имен классов, lower_case_with_underscores для переменных идентификаторов (параметры функции, locals и т. Д.). –

Смежные вопросы