Почему я не могу просто + int к переменной (Python) - PullRequest
0 голосов
/ 30 мая 2018

Это скорее вопрос любопытства, чем вопроса о кодировании, но он помогает мне понять, как работает Python.Итак, мой вопрос: почему я не могу просто определить переменную и добавить свое значение int?пример:

pancake = 9
pancake + 1
print(pancake)

Меня интересует, почему Python не добавляет 1 к 9, потому что технически я говорю 9 + 1, верно?

Ответы [ 3 ]

0 голосов
/ 30 мая 2018

Вам нужно использовать оператор += (вместо +), чтобы изменить переменную слева.В противном случае полученная сумма не будет присвоена переменной, которую вы пытаетесь распечатать.

См. Эту ветку для получения дополнительной информации об операторе +=.

Что именно делает + =do in python?

По сути, += добавит значение справа и присвоит результат переменной слева.Использование + само по себе не изменяет переменную слева.

0 голосов
/ 30 мая 2018

потому что когда вы делаете это pancake + 1, вы вызываете метод __add__ объекта блинов, который является экземпляром класса int, этот метод возвращает сумму значения этого объекта "self" плюс значението есть справа от оператора +.вот почему значение объекта блин не обновляется, вы могли бы лучше понять этот случай, если вы немного изучите магические методы python

0 голосов
/ 30 мая 2018

Можно, но вы должны использовать оператор + = для повторного присвоения значения переменной блина

pancake = 9
pancake += 1
print(pancake)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...