Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 3, 2011 09:22:47

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

is True or == True

pep8

    - Comparisons to singletons like None should always be done with
'is' or 'is not', never the equality operators.

Also, beware of writing "if x" when you really mean "if x is not None"
-- e.g. when testing whether a variable or argument that defaults to
None was set to some other value. The other value might have a type
(such as a container) that could be false in a boolean context!



Отредактировано (Дек. 3, 2011 09:25:07)

Офлайн

#2 Дек. 5, 2011 22:16:45

Fibio
От:
Зарегистрирован: 2010-09-14
Сообщения: 74
Репутация: +  2  -
Профиль   Отправить e-mail  

is True or == True

bool(2) is True или == True - может так? Вместо 2 Ваше выражение



Отредактировано (Дек. 5, 2011 22:21:21)

Офлайн

#3 Дек. 6, 2011 23:58:57

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

is True or == True

Fibio, 10е сообщение прочитай
знаешь, что такое pep8 ?



Офлайн

#4 Дек. 7, 2011 00:18:34

Fibio
От:
Зарегистрирован: 2010-09-14
Сообщения: 74
Репутация: +  2  -
Профиль   Отправить e-mail  

is True or == True

Ну мало ли какая задача вдруг именно True False нужно, а вобще if value или if not value - вполне юзабельно



Офлайн

#5 Дек. 7, 2011 00:31:20

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

is True or == True

Fibio
а вобще if value или if not value - вполне юзабельно
ну, вполне, так и надо делать
а где это может потребовать замены ?
(прочитай pep8 - там выражено мнение тысяч людей)



Офлайн

#6 Дек. 7, 2011 07:03:59

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

is True or == True

> так и надо делать
Неа, зависит от задачи. Например, некий метод возвращает строку (не обязательно пустую) или True, в таком случае if some_method():… очевидно не катит. Не надо говорить, что этот метод не правильный, на Python не всегда пишут 100500 строк кода соответствующих лучшим традициям, иногда и скрипт на 100 строк нужен :-). Хотя конечно, if value is True:… и if value is None:… это звоночек, который должен насторожить автора.

> там выражено мнение тысяч людей
Неа, только одного.

..bw



Офлайн

#7 Дек. 7, 2011 09:01:27

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

is True or == True

bw
Например, некий метод возвращает строку (не обязательно пустую) или True,
bw, это подход пхп быдлокодеров. за такое нужно руки отрывать с особым цинизмом.
В реальности такой код встретить маловероятно (если не подпускать ex-php junior), хотя как гиппотетическую ситуацию вполне возможно рассматривать.



Офлайн

#8 Дек. 7, 2011 10:36:33

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

is True or == True

cutwater
bw
Например, некий метод возвращает строку (не обязательно пустую) или True,
bw, это подход пхп быдлокодеров. за такое нужно руки отрывать с особым цинизмом.
В реальности такой код встретить маловероятно (если не подпускать ex-php junior), хотя как гиппотетическую ситуацию вполне возможно рассматривать.
Почему маловероятно? Например тернарная логика, None - если нет данных, или строка, в том числе и пустая.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#9 Дек. 7, 2011 12:37:23

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

is True or == True

PooH
None - если нет данных, или строка, в том числе и пустая
None - это не False, его можно и через is проверить
но вот функция, которая возвращает непустую строку или True - это уже функция, возвращающая не пойми что
зачем её такой делать, если можно возвращать непустую строку или пустую строку



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version