Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 16, 2014 01:38:33

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Разные логические операторы одинаковы по скорости?

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
>>>



Офлайн

#2 Авг. 16, 2014 10:42:44

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Разные логические операторы одинаковы по скорости?

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)



Офлайн

#3 Авг. 16, 2014 19:31:18

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Разные логические операторы одинаковы по скорости?

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
>>>



Отредактировано py.user.next (Авг. 16, 2014 19:39:02)

Офлайн

#4 Авг. 16, 2014 21:22:51

newpy
Зарегистрирован: 2014-08-12
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Разные логические операторы одинаковы по скорости?

FishHook
Вопросы экспертам задают эксперты об экспертских нуждах и понимают эти вопросы и нужды только эксперты, нубло идет в соответствущий раздел форума и там задает вопросы в надежде, что его услышат.
Если у тебя проблема - это у тебя проблема, не нужно писать о ней сразу президенту, папе римскому и деду морозу.
хорошо. невнятно оформлен сам форум. подумалось что на такие вопросы могут ответить только знатоки только поэтому и спросил. больше в этот раздел не зайду. чванливых я брезгую



__________________
py3.7.8-64 win10-64

Офлайн

#5 Авг. 16, 2014 22:10:26

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Разные логические операторы одинаковы по скорости?

py.user.next
else - это не условие

Да, это тернарная операция в выражении if.
Я чёт не понял сначала :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version