Найти - Пользователи
Полная версия: Рубрика "Чудеса"
Начало » Флейм » Рубрика "Чудеса"
1 2 3
ZZZ
Жесть. Вот поэтому я и не люблю джангу…
bw
А я сегодня для себя открыл, что:
# python2.7
assert isinstance(True, int) and isinstance(False, int)
assert issubclass(bool, int)
Совершенно не очевидно, мне кажется. Хорошо на видном месте код был. В оф. документации сказано об этом?

..bw
ZZZ
bw, я почему-то сразу об этом знал и это кажется мне логичным, хотя бы по тому, что многие именно 1 и 0 используют вместо True и False (руки бы поотрывал!).
assert True == 1 and False == 0
FishHook
ZZZ
bw, я почему-то сразу об этом знал и это кажется мне логичным, хотя бы по тому, что многие именно 1 и 0 используют вместо True и False (руки бы поотрывал!).
Вы знаете, вообще не очевидно, что вернет вот это выражение
>>> print 1 and [1,2,3] and dict() and False
Внимание, конкурс!
Господа, новички, без проб кода, отписываемся, что по Вашему вернет выражение
FishHook
ZZZ
Жесть. Вот поэтому я и не люблю джангу…
Джанга не при чем, это вечер субботы и излишне эмоциональное состояние оператора ЭВМ.
Budulianin
FishHook
Внимание, конкурс!
Господа, новички, без проб кода, отписываемся, что по Вашему вернет выражение

Думаю False(т.е. последнее значение, которое проверяется) вернёт, т.к. из-за него всё выражение False должно быть

=) а вернул словарь, блин, не подумал, что он же пустой и на нём проверка закончится
sergeek
не там возвращается первое не True в boolean-контексте
Budulianin
sergeek
не там возвращается первое не True в boolean-контексте

Я знаю, ты мне сам ссылку давал на ленивые вычисления. Просто не подумал что dict пустой, поторопился…
sergeek
я таким образом только or использую
например что-нибудь вроде
result = calc_by_method1() or calc_by_method2() or ...
симпатично получается
а and как то чужеродно выглядит для формирования логики
py.user.next
bw
А я сегодня для себя открыл, что:
bw
В оф. документации сказано об этом?
вообще, если pydoc откроешь, то это отчётливо видно в builtins
но также есть и в документации как во встроенной, так и в основной

class bool(int)
| bool(x) -> bool
|
| Returns True when the argument x is true, False otherwise.
| The builtins True and False are the only two instances of the class bool.
| The class bool is a subclass of the class int, and cannot be subclassed.
|
| Method resolution order:
| bool
| int
| object
|
| Methods defined here:

python.org. hierarchy
The Boolean type is a subtype of the integer type, and Boolean values behave like the values 0 and 1, respectively


sergeek
а and как то чужеродно выглядит для формирования логики
часто использую
s = match and match.group()
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