Быстрый вопрос о разделении возвращаемых значений этой функции - PullRequest
0 голосов
/ 26 июня 2011
## velocity
    def get_velocity(self):
        return ( (self.dx, self.dy) )
    def set_velocity (self, new_velocity): 
        self.dx, self.dy = new_velocity
    velocity = property(get_velocity, set_velocity)

Это из исходного кода модуля, который я использую.

То есть, для получения значений скорости по отдельности (отдельно для dx и отдельно для dy), это будет работать?

self.get_velocity() = lala
lala[1] = dx value and lala[2] = dy value

Это правильно?

Ответы [ 2 ]

4 голосов
/ 26 июня 2011

Нет, потому что, если вы хотите присвоить возвращаемое значение функции переменной, вы должны иметь переменную слева и функцию справа:

lala = self.get_velocity()

С этим одним изменением, он должен работать.Но обратите внимание, что вы можете сделать то же самое с меньшим количеством печатания, например:

dx, dy = self.get_velocity()
0 голосов
/ 26 июня 2011

Эммы.Вы не можете сделать expression = value.Это не имеет смысла.Попробуйте 2 = myvar

Вы можете сделать: dx, dy = self.get_velocity() или

d = self.get_velocity()
dx = d[0]
dy = d[1]

В Python, когда вы возвращаете кортеж, вы можете назначить несколько переменных одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...