dmitry_sulin
Апрель 14, 2016 15:28:46
Если 1 и True это разные объекты, то почему если в множество содержащее 1 добавить True, то ничего не измениться?
FishHook
Апрель 14, 2016 15:49:44
dmitry_sulin
А вы попробуйте добавить во множество словарь. Не получается? А почему?
Предлагаю нагуглить самостоятельно.
Rodegast
Апрель 14, 2016 15:50:08
> Если 1 и True это разные объекты
True это и есть 1, а False 0.
FishHook
Апрель 14, 2016 15:50:53
Rodegast
True это и есть 1, а False 0.
нет
Rodegast
Апрель 14, 2016 15:52:38
FishHook
нет
Вы не поверите, но всё таки да:
FishHook
Апрель 14, 2016 15:55:18
Rodegast
Вы не поверите, но всё таки да:
нет не поверю
Rodegast
Апрель 14, 2016 16:03:38
FishHook
нет не поверю
>>> True == 1
True
>>> True == 2
False
>>> False == 1
False
>>> False == 0
True
r00tl3ss
Апрель 14, 2016 16:05:29
bool это подкласс int
В строковом представлении True и False.
В остальных случаях 1 и 0.
FishHook
Апрель 14, 2016 16:10:12
RodegastНу и что?
# -*-coding:utf-8-*-
class bool:
def __init__(self, i):
self.__i = i
def __eq__(self, other):
return other is self.__i or other is true
true = bool(1)
print(true == 1)
print(true == 2)
FishHook
Апрель 14, 2016 16:16:09
a = True
b = 1
print(id(True))
print(id(a))
print(id(1))
print(id(b))
4297151328
4297151328
4297537888
4297537888