Поставяне на проста декларация if-then-else на един ред
Възможен дубликат: Python Ternary Operator
Току-що навлизам в Python и много ми харесва краткостта на синтаксиса. Има ли обаче по-лесен начин да се напише оператор if
-then
-else
, така че да се побере на един ред?
Например:
if count == N:
count = 0
else:
count = N + 1
Има ли по-опростен начин за написване на това? На Objective-C бих написал това като:
count = count == N ? 0 : count + 1;
Има ли нещо подобно за Python?
Актуализация
Знам, че в този случай мога да използвам count == (count + 1) % N
.
Питам за общия синтаксис.
772
3
Това'е по-точно израз тернарен оператор, отколкото if-then, ето синтаксиса на python
Подобен пример: (благодарение на Mr. Burns)
'Да' if fruit == 'Apple' else 'No'
Най-вече с присвояване и контраст със синтаксиса if
vs
- тройният оператор. Въпреки че бих казал, че вашето решение е по-четливо от това.
Общ синтаксис на тройките:
Друг начин може да бъде:
напр:
Това оценява и двата клона, преди да избере един от тях. За да оцените само избрания клон:
напр: