Python - TypeError: unbound method

Итак, эта проблема Python доставляла мне проблемы с тех пор, как я пытался преобразовать код в разные файлы. У меня есть файл с именем object.py и связанный с ним код:

class Object:
#this is a generic object: the player, a monster, an item, the stairs...
#it's always represented by a character on screen.
def __init__(self, x, y, char, color):
    self.x = x
    self.y = y
    self.char = char
    self.color = color

def move(self, dx, dy):
    #move by the given amount, if the destination is not blocked
    #if not map[self.x + dx][self.y + dy].blocked:
        self.x += dx
        self.y += dy

Теперь, когда я пытаюсь скомпилировать этот файл специально, я получаю следующую ошибку:

TypeError: unbound method __init__() must be called with Object instance as first argument (got int instance instead)

Код, который пытается вызвать это:

player = object_info.Object.__init__(BurglaryConstants.SCREEN_WIDTH/2, BurglaryConstants.SCREEN_HEIGHT/2, '@', libtcod.white)

Что вызывает эту ошибку при компиляции:

AttributeError: 'module' object has no attribute 'Object'

Так что же, черт возьми, со всем этим происходит и как мне это рефакторингу? Также я предполагаю, что наличие класса под названием Object не очень хорошая практика кодирования, верно?

Спасибо за вашу помощь!

5
задан Richard J. Ross III 16 March 2013 в 14:08
поделиться