Как Python оценивает это выражение? - PullRequest
2 голосов
/ 01 ноября 2010

Как Python оценивает следующее выражение?anim1 выполняется после anim2.Как простой оператор + это?

anim1 = Animation(duration=1, center=(100,100) type='delta')
anim2 = Animation(duration=1, rotation=45 type='delta')

anim = anim1 + anim2

Ответы [ 3 ]

8 голосов
/ 01 ноября 2010

Это вызовет anim1.__add__(anim2).

Чтобы понять, что происходит под капотом, вы должны проверить определение __add__ метода из класса Анимация.

3 голосов
/ 01 ноября 2010

В Python вы можете переопределить поведение математических операторов.Если я понял ваш вопрос, Animation, вероятно, переопределит оператор "+", используя метод __add__.

Дополнительная информация: Официальная документация

0 голосов
/ 01 ноября 2010

Проверьте dis модуль . Он имеет функцию dis, которая возьмет функцию / модуль / класс и покажет вам байт-код.

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