Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Identitet vs Lighed | Booleske Værdier og Sammenligninger
Datatyper i Python

bookIdentitet vs Lighed

Lær forskellen mellem identitet og lighed i Python. Identitet kontrollerer, om to variabler henviser til det samme objekt i hukommelsen, mens lighed sammenligner, om to objekter har den samme værdi. At forstå denne forskel er afgørende for at skrive præcise betingelser, valideringer og databehandlingslogik.

Hvad er is?

  • is kontrollerer objektidentitet, om to variabler peger på det samme objekt i hukommelsen;
  • == kontrollerer lighed af værdier, om to objekter har det samme indhold.
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

Hvornår skal is bruges, og hvornår skal det undgås

  • Brug is ved sammenligning med singletons såsom 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 er den negaterede identitetstjek;
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
  • Undgå at bruge is til at kontrollere lighed mellem tal eller strenge. På grund af intern caching/interning kan identitet nogle gange se ud til at "virke", men det er ikke pålideligt på tværs af forskellige kørsel og miljøer, brug i stedet ==;
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
  • For boolske værdier, foretræk sandhedsværdikontrol.
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. Udfyld hullerne med is eller ==:

2. Hvad er den korrekte måde at teste for "ingen værdi"?

3. Hvilken erklæring er anbefalet?

question-icon

Udfyld hullerne med is eller ==:

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

Hvad er den korrekte måde at teste for "ingen værdi"?

Select the correct answer

question mark

Hvilken erklæring er anbefalet?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookIdentitet vs Lighed

Stryg for at vise menuen

Lær forskellen mellem identitet og lighed i Python. Identitet kontrollerer, om to variabler henviser til det samme objekt i hukommelsen, mens lighed sammenligner, om to objekter har den samme værdi. At forstå denne forskel er afgørende for at skrive præcise betingelser, valideringer og databehandlingslogik.

Hvad er is?

  • is kontrollerer objektidentitet, om to variabler peger på det samme objekt i hukommelsen;
  • == kontrollerer lighed af værdier, om to objekter har det samme indhold.
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

Hvornår skal is bruges, og hvornår skal det undgås

  • Brug is ved sammenligning med singletons såsom 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 er den negaterede identitetstjek;
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
  • Undgå at bruge is til at kontrollere lighed mellem tal eller strenge. På grund af intern caching/interning kan identitet nogle gange se ud til at "virke", men det er ikke pålideligt på tværs af forskellige kørsel og miljøer, brug i stedet ==;
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
  • For boolske værdier, foretræk sandhedsværdikontrol.
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. Udfyld hullerne med is eller ==:

2. Hvad er den korrekte måde at teste for "ingen værdi"?

3. Hvilken erklæring er anbefalet?

question-icon

Udfyld hullerne med is eller ==:

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

Hvad er den korrekte måde at teste for "ingen værdi"?

Select the correct answer

question mark

Hvilken erklæring er anbefalet?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
some-alt