Найти - Пользователи
Полная версия: 1 и True
Начало » Python для новичков » 1 и True
1 2
dmitry_sulin
Если 1 и True это разные объекты, то почему если в множество содержащее 1 добавить True, то ничего не измениться?
FishHook
dmitry_sulin
А вы попробуйте добавить во множество словарь. Не получается? А почему?
Предлагаю нагуглить самостоятельно.
Rodegast
> Если 1 и True это разные объекты

True это и есть 1, а False 0.
FishHook
Rodegast
True это и есть 1, а False 0.
нет
Rodegast
FishHook
нет
Вы не поверите, но всё таки да:
>>> False - True
-1
FishHook
Rodegast
Вы не поверите, но всё таки да:
нет не поверю
>>> True is 1
False
Rodegast
FishHook
нет не поверю
>>> True == 1
True
>>> True == 2
False
>>> False == 1
False
>>> False == 0
True
r00tl3ss
bool это подкласс int
В строковом представлении True и False.
В остальных случаях 1 и 0.
FishHook
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
a = True
b = 1
print(id(True))
print(id(a))
print(id(1))
print(id(b))
4297151328
4297151328
4297537888
4297537888
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