Python эквивалент выражения Ruby: "ставит x += значение"
Ради любопытства...
В Ruby:
=>$ irb
1.8.7 :001 > puts x = 2
2
=> nil
1.8.7 :002 > puts x += 2 while x < 40
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
Это очень удобно.
Можно ли сделать это в Python в одной строке и если да, то как?
1 ответ:
Причина, по которой вы не можете сделать точно или очень похоже то же самое в Python, потому что в Ruby все является выражением.
Python различает операторы и выражения, и только выражения могут быть вычислены (поэтому печатается, я имею в виду передается оператору/функции печати).
Таким образом, такой код не может быть выполнен на Python в том виде, который Вы нам показали. Все, что вы можете сделать, это найти какой-то "похожий" способ записать оператор выше как Python но это точно будет не тот"Рубин".
ИМХО, в Python, невозможность такого поведения (как описано в этом случае использования), красиво следует "явное лучше, чем неявное" Дзен правила Python.