2016-05-25 3 views
-1

Я пытаюсь получить доступ к переменной из другого класса. В моем классе Model я пытаюсь получить доступ ко всем другим классам, которые я написал выше. Например, я попытался получить доступ к классу шаров из класса модели (его позиция). Но я получаю сообщение об ошибке при попытке получить к нему доступ.Python - вызывающий класс из других классов

class Ball(object): 

    def __init__(self, x, y): 
     initialize variables 
     self._pos = (x, y) 

    def set_position(self, x, y): 
     self._pos = (x , y) 

    def get_position(self): 
     return self._pos 


class Model(object): 

    def __init__(self): 
     self._position = Ball().get_position() 

    def get_ball_position(self):   
     return self._position 

.

error : __init__() missing 2 required positional arguments: 'x' and 'y' 
+2

Вам нужно указать его аргументы, например 'Ball (4, 2)' –

ответ

0

Сначала нужно создать экземпляр шара в классе Model: self.ball = Ball(x, y)введите координаты (х, у). Затем выберите методы из созданного вами объекта. self.ball.get_position()

Обратите внимание, что здесь self._position = Ball().get_position() вы пытаетесь создать экземпляр шара и назначить его self._position.

Что нужно сделать, это сначала создать экземпляр, а затем вызвать метод в экземпляре.

+0

Я пробовал это, и он не работал. Извините, я новичок в программировании. Класс модель (объект): Защиту __init __ (Я): шара = Болл (х, у) Защиту get_ball_position (Я): возвращение ball.get_position() – Ceno

+0

редакции, также см комментария Валентина - вам нужно дать ему аргументы – 009

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