Найти - Пользователи
Полная версия: Разные логические операторы одинаковы по скорости?
Начало » Python для экспертов » Разные логические операторы одинаковы по скорости?
1 2
py.user.next
Budulianin
Нет, в однострочных условиях нету elif.

>>> if 1 if 2: print('x')
  File "<stdin>", line 1
    if 1 if 2: print('x')
             ^
SyntaxError: invalid syntax
>>>

>>> if 1 else if 2: print('x')
  File "<stdin>", line 1
    if 1 else if 2: print('x')
            ^
SyntaxError: invalid syntax
>>>
Budulianin
if 3 > 2 if 3 < 2 else 8 < 9: print(1)

тоже самое, что:

>>> if 3 > 2:
...     if 3 < 2: print(1)
...     elif 8 < 9: print(1)
... elif 8 < 9: print(1)
py.user.next
Budulianin
тоже самое, что:

>>> if 1 if 2 else 3: print('x')
... 
x
>>> if 1 if 0 else 3: print('x')
... 
x
>>> if 0 if 2 else 3: print('x')
... 
>>> if 0 if 0 else 3: print('x')
... 
x
>>>

else - это не условие

>>> x = 1 if 2 else 3
>>> x
1
>>> x = 1 if 0 else 3
>>> x
3
>>>

Со скобками понятнее.

>>> if (1 if 0 else 0): print('x')
... 
>>> if (0 if 1 else 0): print('x')
... 
>>> if (0 if 0 else 1): print('x')
... 
x
>>>
newpy
FishHook
Вопросы экспертам задают эксперты об экспертских нуждах и понимают эти вопросы и нужды только эксперты, нубло идет в соответствущий раздел форума и там задает вопросы в надежде, что его услышат.
Если у тебя проблема - это у тебя проблема, не нужно писать о ней сразу президенту, папе римскому и деду морозу.
хорошо. невнятно оформлен сам форум. подумалось что на такие вопросы могут ответить только знатоки только поэтому и спросил. больше в этот раздел не зайду. чванливых я брезгую
Budulianin
py.user.next
else - это не условие

Да, это тернарная операция в выражении if.
Я чёт не понял сначала :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB