Python booleska

Booleskt representerar en av två värden: True eller False.

Booleska värden

I programmering behöver du ofta veta om ett uttryck är True eller False.

Du kan räkna ut vilket som helst uttryck i Python och få en av två svar, True eller False.

När du jämför två värden beräknas uttrycket, och Python returnerar ett booleskt svar:

Exempel

print(8 > 7)
print(8 == 7)
print(8 < 7)

Kör Exempel

När en förhållande körs i en if-sats returnerar Python True eller False:

Exempel

Skriv ut ett meddelande beroende på om förhållandet är sant eller falskt:

a = 200
b = 33
if b > a:
  print("b is greater than a")
else:
  print("b is not greater than a")

Kör Exempel

Evaluera värden och variabler

bool() funktionen låter dig evaluera vilket värde som helst och returnerar True eller False.

Exempel

Evaluera strängar och nummer:

print(bool("Hello"))
print(bool(10))

Kör Exempel

Exempel

Evaluera två variabler:

x = "Hello"
y = 10
print(bool(x))
print(bool(y))

Kör Exempel

De flesta värden är True

Om det finns något innehåll, kommer nästan alla värden att bedömas som True.

Förutom en tom sträng är alla strängar True.

Förutom 0 är alla nummer True.

Förutom en tom lista är alla listor, tupler, uppsättningar och ordningar True.

Exempel

Nedanstående exempel kommer att returnera True:

bool("abc")
bool(123)
bool(["apple", "cherry", "banana"])

Kör Exempel

Vissa värden är False

Förutom tomt värde (t.ex. ()、[]、{}、""、nummer 0 och värde None) är det få värden som bedöms som False. Naturligtvis är beräkningen av värde False False.

Exempel

Nedanstående exempel kommer att returnera False:

bool(False)
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({})

Kör Exempel

I detta fall är resultatet av beräkningen av ett värde eller ett objekt False, det vill säga om objektet är genererat av en klass med __len__ funktionen och denna funktion returnerar 0 eller False:

Exempel

class myclass():
  def __len__(self):
    returnera 0
myobj = myclass()
print(bool(myobj))

Kör Exempel

Funktionen kan returnera boolesk

Python har många inbyggda funktioner som returnerar booleska värden, till exempel isinstance() funktionen, som kan användas för att avgöra om ett objekt har ett visst datatyp:

Exempel

Kontrollera om objektet är ett heltal:

x = 200
print(isinstance(x, int))

Kör Exempel