Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Identität vs. Gleichheit | Booleans und Vergleiche
Datentypen in Python

bookIdentität vs. Gleichheit

Lerne den Unterschied zwischen Identität und Gleichheit in Python. Die Identität prüft, ob zwei Variablen auf dasselbe Objekt im Speicher verweisen, während die Gleichheit vergleicht, ob zwei Objekte den gleichen Wert besitzen. Das Verständnis dieses Unterschieds ist entscheidend für das Schreiben präziser Bedingungen, Validierungen und Datenverarbeitungslogik.

Was ist is?

  • is prüft die Objektidentität, also ob zwei Variablen auf dasselbe Objekt im Speicher zeigen;
  • == prüft die Wertgleichheit, also ob zwei Objekte den gleichen Inhalt haben.
12345678
# Comparing two shopping carts in an online store cart_today = ["milk", "bread"] cart_yesterday = ["milk", "bread"] shared_cart = cart_today print(cart_today == cart_yesterday) # True → same items print(cart_today is cart_yesterday) # False → two separate cart objects print(cart_today is shared_cart) # True → both refer to the same cart
copy

Wann is verwendet werden sollte und wann nicht

  • Verwendung von is beim Vergleich mit Singletons wie None;
12345
# Checking if the user has entered their phone number user_phone = None if user_phone is None: print("No phone number provided yet")
copy
  • is not ist die verneinte Identitätsprüfung;
12345
# Checking if the user's age is stored in the system user_age = 64 if user_age is not None: print(f"User age is recorded: {user_age}")
copy
  • Vermeiden Sie die Verwendung von is zum Überprüfen der Gleichheit zwischen Zahlen oder Zeichenketten. Aufgrund von internem Caching/Interning kann die Identität manchmal scheinbar "funktionieren", ist jedoch über verschiedene Ausführungen und Umgebungen hinweg nicht zuverlässig. Verwenden Sie stattdessen ==;
123456789101112
# Comparing user IDs and usernames in a system user_id_a = 256 user_id_b = 256 print(user_id_a == user_id_b) # True → same user ID value print(user_id_a is user_id_b) # May appear True, but identity check is unreliable for numbers username_a = "hello" username_b = "he" + "llo" print(username_a == username_b) # True → same text print(username_a is username_b) # Avoid using 'is' for string comparison (implementation detail)
copy
  • Bei Booleans bevorzugt Wahrheitswertprüfungen.
12345
# Checking if dark mode is enabled in user settings dark_mode_enabled = True if dark_mode_enabled: # clearer than: if dark_mode_enabled is True print("Dark mode is ON")
copy

1. Füllen Sie die Lücken mit is oder == aus:

2. Was ist die korrekte Methode, um auf "keinen Wert" zu prüfen?

3. Welche Aussage ist empfohlen?

question-icon

Füllen Sie die Lücken mit is oder == aus:

Use to check if two variables point to the same object.
Use
to check if two values have the same contents.

Click or drag`n`drop items and fill in the blanks

question mark

Was ist die korrekte Methode, um auf "keinen Wert" zu prüfen?

Select the correct answer

question mark

Welche Aussage ist empfohlen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain more about when to use `is` versus `==` in real-world scenarios?

What are some common mistakes people make with `is` and `==` in Python?

Could you provide more examples of identity and equality checks?

Awesome!

Completion rate improved to 3.45

bookIdentität vs. Gleichheit

Swipe um das Menü anzuzeigen

Lerne den Unterschied zwischen Identität und Gleichheit in Python. Die Identität prüft, ob zwei Variablen auf dasselbe Objekt im Speicher verweisen, während die Gleichheit vergleicht, ob zwei Objekte den gleichen Wert besitzen. Das Verständnis dieses Unterschieds ist entscheidend für das Schreiben präziser Bedingungen, Validierungen und Datenverarbeitungslogik.

Was ist is?

  • is prüft die Objektidentität, also ob zwei Variablen auf dasselbe Objekt im Speicher zeigen;
  • == prüft die Wertgleichheit, also ob zwei Objekte den gleichen Inhalt haben.
12345678
# Comparing two shopping carts in an online store cart_today = ["milk", "bread"] cart_yesterday = ["milk", "bread"] shared_cart = cart_today print(cart_today == cart_yesterday) # True → same items print(cart_today is cart_yesterday) # False → two separate cart objects print(cart_today is shared_cart) # True → both refer to the same cart
copy

Wann is verwendet werden sollte und wann nicht

  • Verwendung von is beim Vergleich mit Singletons wie None;
12345
# Checking if the user has entered their phone number user_phone = None if user_phone is None: print("No phone number provided yet")
copy
  • is not ist die verneinte Identitätsprüfung;
12345
# Checking if the user's age is stored in the system user_age = 64 if user_age is not None: print(f"User age is recorded: {user_age}")
copy
  • Vermeiden Sie die Verwendung von is zum Überprüfen der Gleichheit zwischen Zahlen oder Zeichenketten. Aufgrund von internem Caching/Interning kann die Identität manchmal scheinbar "funktionieren", ist jedoch über verschiedene Ausführungen und Umgebungen hinweg nicht zuverlässig. Verwenden Sie stattdessen ==;
123456789101112
# Comparing user IDs and usernames in a system user_id_a = 256 user_id_b = 256 print(user_id_a == user_id_b) # True → same user ID value print(user_id_a is user_id_b) # May appear True, but identity check is unreliable for numbers username_a = "hello" username_b = "he" + "llo" print(username_a == username_b) # True → same text print(username_a is username_b) # Avoid using 'is' for string comparison (implementation detail)
copy
  • Bei Booleans bevorzugt Wahrheitswertprüfungen.
12345
# Checking if dark mode is enabled in user settings dark_mode_enabled = True if dark_mode_enabled: # clearer than: if dark_mode_enabled is True print("Dark mode is ON")
copy

1. Füllen Sie die Lücken mit is oder == aus:

2. Was ist die korrekte Methode, um auf "keinen Wert" zu prüfen?

3. Welche Aussage ist empfohlen?

question-icon

Füllen Sie die Lücken mit is oder == aus:

Use to check if two variables point to the same object.
Use
to check if two values have the same contents.

Click or drag`n`drop items and fill in the blanks

question mark

Was ist die korrekte Methode, um auf "keinen Wert" zu prüfen?

Select the correct answer

question mark

Welche Aussage ist empfohlen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
some-alt