
Zart
22.07.2016
15:52:30
потому что при сравнивании в булевом контексте интересует truthiness, а не то что результат реально совпадает с неким синглетоном

Sergey
22.07.2016
15:52:53
никогда
None от False как еще отличить?
а пустую строку?

Google

Zart
22.07.2016
15:53:05
is None
is False/is True нужны лишь если ты хочешь дополнительно проверку isinstance(x, bool)

Sergey
22.07.2016
15:54:13
is None
т.е. писать
if not x and x is not None:
?
как-то криво)

Zart
22.07.2016
15:54:44
ты одну бесмыслинуюхуиту поменял на другую бесмыслинуюхуиту. гратс.

Sergey
22.07.2016
15:54:48
is False и все

Zart
22.07.2016
15:54:56
но зачем?

Sergey
22.07.2016
15:55:09
3state logic?

Zart
22.07.2016
15:55:23
проверяем сперва на из нан
как вырожденный случай

Sergey
22.07.2016
15:55:40
а если условие только по False?

Zart
22.07.2016
15:56:01
в тристейте обычно нан особый случай, а остальные типовые

Google

Zart
22.07.2016
15:56:19
поэтому я не вижу зачем нужно городить специальный путь для фолса
и опять же, питон у нас с дактайпом. в случае с тристейтом у нас как правило None - особый случай, а остальные рассматриваются в булевом контексте и не обязаны быть bool
так что я всё равно считаю что is False в корне неверен
я часто вместо False пишу 0, если позволяет

Sergey
22.07.2016
15:58:24
0 может быть значением вообще
полиморфизм же

Zart
22.07.2016
15:58:49
и? как ты перепрыгнул от тристейта к нулю?

Sergey
22.07.2016
15:59:01
тристейт лишь один из вариантов

Zart
22.07.2016
15:59:28
лишь один из вариантов в котором ты неправ, да

Sergey
22.07.2016
16:00:03

Zart
22.07.2016
16:00:16
ну
ирония просто зашкаливает

Sergey
22.07.2016
16:01:29
у меня вот двойное впечатление, с одной стороны ты создаешь впечатление умного челвоека, а с другой кажется, что реальных проектов ни разу не писал

Zart
22.07.2016
16:02:15
нет, ты
я лично уже напарывался на неработающий код, в котором какой-то мудак написал is False

Sergey
22.07.2016
16:03:05
а, это видимо травма детства, я понял

Zart
22.07.2016
16:03:06
и этот код был в стдлибе. в argparse.
а, нет. но где-то рядом афаир
кстати, а ты сам-то в пеп8 заглянул перед там как такую чушь нести?
Don't compare boolean values to True or False using == .
Yes: if greeting:
No: if greeting == True:
Worse: if greeting is True:
как Worse переводится, помним?

Google

Zart
22.07.2016
16:07:38
еще аргументы про мои травмы, пазазя

Sergey
22.07.2016
16:09:32
/usr/lib/python3.5 $ grep -r 'is True:' .|grep -v site-packages|wc -l
27
к слову, даже тут)

Zart
22.07.2016
16:09:59
какого контекста? это полный абзац про сравнение с буленами

Sergey
22.07.2016
16:10:16
там написано Don't compare boolean values to True or False using ==
и рекомендуется if/if not
т.е. писать
if not x and x is not None:
?

Zart
22.07.2016
16:10:48
угу. на это сказано "No", а на is сказано Worse than No
что, с понималкой плохо, да?

Sergey
22.07.2016
16:12:43

Zart
22.07.2016
16:13:11
в cookielib нашел. но там специально ловят мудаков, передающих булево

Sergey
22.07.2016
16:13:12

mey
22.07.2016
16:13:49
А можно вопрос, смотритe
If type(a) == class int:

Zart
22.07.2016
16:13:54
в json проверка is потому что там вычленяются специальные объекты

mey
22.07.2016
16:14:04
Как это правильно сделать, я все перепробовала

Zart
22.07.2016
16:14:21
в mailbox - тристейт

Denis
22.07.2016
16:14:27

Zart
22.07.2016
16:14:32
правильно isinstance(x, int)
это проверка на то что x является экземпляром int или его сабкласса

Google

Denis
22.07.2016
16:14:53
Еще лучше через abc, но я не помню, как именно

Zart
22.07.2016
16:15:21
абц проверяется через isinstance, но вряд ли он тут нужен

mey
22.07.2016
16:15:24
Isinance(x, int) == True?

Zart
22.07.2016
16:15:33
бля
полчаса срача на эту тему, и вот пример

Denis
22.07.2016
16:15:50
if isinstance(x, int):
print(42)

mey
22.07.2016
16:16:18
Хорошо, спасибо)
Буду знать)

Admin
ERROR: S client not available

mey
23.07.2016
01:28:58
я опять немного слоупк, правильно или нет?)

Zart
23.07.2016
01:55:27
неправильно для чисел оканчивающихся на 11..14
и пробелов два

mey
23.07.2016
02:54:27
Почему
11 программист
Точно
Что-то не так
Подожди.
Смотри
111 программист, это неправильно ?

Google

Zart
23.07.2016
02:55:53
ты анализируешь только последнюю цифру, но в русском языке правила для числительных в диапазоне 10..20 отличаются от остальных

mey
23.07.2016
02:56:05
Ой, не люблю русский, я правила плохо знаю.

Zart
23.07.2016
02:57:06
ну в данном случае можно методом перебора проверить что и как должно быть

mey
23.07.2016
03:00:47
111 программист - это правильно?
Но 11 программистов,, да?

Zart
23.07.2016
03:01:19
"сто одиннадцать программистов"
так что нет

mey
23.07.2016
03:01:41
Почему?
Никто не говорит 111 программистов

Zart
23.07.2016
03:01:52
почему что?
все говорят

mey
23.07.2016
03:02:04
Все говорят 111 программист

Zart
23.07.2016
03:02:07
нет
см. выше

mey
23.07.2016
03:02:27
Хорршо

Zart
23.07.2016
03:05:43

mey
23.07.2016
03:22:12

Zart
23.07.2016
03:22:26
он так и сказал "111"?
вслух?
ничего не режет?

mey
23.07.2016
03:22:47
Сто одиннадцать
Эта группа больше не существует