Warum liefert das Verketten eines booleschen Werts eine Ganzzahl?

8

In Python können Sie boolesche Werte verketten und eine ganze Zahl zurückgeben. Beispiel:

%Vor%

Warum? Warum macht das Sinn?

Ich verstehe, dass True oft als 1 dargestellt wird, während False als 0 dargestellt wird, aber das erklärt immer noch nicht, wie das Hinzufügen von zwei Werten vom selben Typ einen komplett anderen Typ zurückgibt / p>     

Josh Hunt 09.03.2010, 05:55
quelle

3 Antworten

21

Weil in% Python bool die Unterklasse / Unterart von int ist.

%Vor%

Aktualisieren :

Aus boolobject.c

%Vor%     
YOU 09.03.2010, 05:58
quelle
7

Ersetzen Sie "concatenate" durch "add" und True / False mit 1 / 0 , wie Sie gesagt haben, und es macht Sinn.

  

Um True und False in einem Satz zusammenzufassen: Sie sind alternative Wege, die ganzzahligen Werte 1 und 0 zu buchstabieren, mit dem einzigen Unterschied, dass str () und repr () die Strings "True" und "False" zurückgeben von '1' und '0'.

Siehe auch: Ссылка

    
Kobi 09.03.2010 05:57
quelle
2
%Vor%

Versuchen Sie Folgendes:

%Vor%     
Pratik Deoghare 09.03.2010 05:58
quelle

Tags und Links