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

bookIdentitet vs Likhet

Lær forskjellen mellom identitet og likhet i Python. Identitet sjekker om to variabler refererer til samme objekt i minnet, mens likhet sammenligner om to objekter har samme verdi. Å forstå dette skillet er avgjørende for å skrive presise betingelser, valideringer og databehandlingslogikk.

Hva er is?

  • is sjekker objektidentitet, altså om to variabler peker til samme objekt i minnet;
  • == sjekker likhet i verdier, altså om to objekter har samme innhold.
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

Når skal is brukes og når bør det unngås

  • Bruk is ved sammenligning med singletons 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 negert identitetssjekken;
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
  • Unngå å bruke is for å sjekke likhet mellom tall eller strenger. På grunn av intern caching/internering kan identitet noen ganger se ut til å "fungere", men det er ikke pålitelig på tvers av ulike kjøringer og miljøer, bruk == 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 verdier, foretrekk sannhetskontroller.
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. Fyll inn de tomme feltene med is eller ==:

2. Hva er den korrekte måten å teste for "ingen verdi"?

3. Hvilken påstand er anbefalt?

question-icon

Fyll inn de tomme feltene 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

Hva er den korrekte måten å teste for "ingen verdi"?

Select the correct answer

question mark

Hvilken påstand er anbefalt?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

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 Likhet

Sveip for å vise menyen

Lær forskjellen mellom identitet og likhet i Python. Identitet sjekker om to variabler refererer til samme objekt i minnet, mens likhet sammenligner om to objekter har samme verdi. Å forstå dette skillet er avgjørende for å skrive presise betingelser, valideringer og databehandlingslogikk.

Hva er is?

  • is sjekker objektidentitet, altså om to variabler peker til samme objekt i minnet;
  • == sjekker likhet i verdier, altså om to objekter har samme innhold.
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

Når skal is brukes og når bør det unngås

  • Bruk is ved sammenligning med singletons 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 negert identitetssjekken;
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
  • Unngå å bruke is for å sjekke likhet mellom tall eller strenger. På grunn av intern caching/internering kan identitet noen ganger se ut til å "fungere", men det er ikke pålitelig på tvers av ulike kjøringer og miljøer, bruk == 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 verdier, foretrekk sannhetskontroller.
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. Fyll inn de tomme feltene med is eller ==:

2. Hva er den korrekte måten å teste for "ingen verdi"?

3. Hvilken påstand er anbefalt?

question-icon

Fyll inn de tomme feltene 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

Hva er den korrekte måten å teste for "ingen verdi"?

Select the correct answer

question mark

Hvilken påstand er anbefalt?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3
some-alt