Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Identitet kontra likhet | Booleska Värden och Jämförelser
Datatyper i Python

bookIdentitet kontra likhet

Lär dig skillnaden mellan identitet och likhet i Python. Identitet kontrollerar om två variabler refererar till samma objekt i minnet, medan likhet jämför om två objekt har samma värde. Att förstå denna skillnad är avgörande för att skriva korrekta villkor, valideringar och databehandlingslogik.

Vad är is?

  • is kontrollerar objektidentitet, om två variabler pekar på samma objekt i minnet;
  • == kontrollerar likhet i värden, om två objekt har samma innehåll.
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 ska is användas och när ska det undvikas

  • Använd is vid jämförelse 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 är den negerade identitetskontrollen;
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
  • Undvik att använda is för att kontrollera likhet mellan tal eller strängar. På grund av intern cache/internering kan identitet ibland verka "fungera", men det är inte tillförlitligt mellan olika körningar och miljöer, använd == istället;
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
  • För booleans, föredra sanningsvärdeskontroller.
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 i luckorna med is eller ==:

2. Vad är det korrekta sättet att testa för "inget värde"?

3. Vilket påstående är rekommenderat?

question-icon

Fyll i luckorna 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

Vad är det korrekta sättet att testa för "inget värde"?

Select the correct answer

question mark

Vilket påstående är rekommenderat?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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 kontra likhet

Svep för att visa menyn

Lär dig skillnaden mellan identitet och likhet i Python. Identitet kontrollerar om två variabler refererar till samma objekt i minnet, medan likhet jämför om två objekt har samma värde. Att förstå denna skillnad är avgörande för att skriva korrekta villkor, valideringar och databehandlingslogik.

Vad är is?

  • is kontrollerar objektidentitet, om två variabler pekar på samma objekt i minnet;
  • == kontrollerar likhet i värden, om två objekt har samma innehåll.
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 ska is användas och när ska det undvikas

  • Använd is vid jämförelse 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 är den negerade identitetskontrollen;
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
  • Undvik att använda is för att kontrollera likhet mellan tal eller strängar. På grund av intern cache/internering kan identitet ibland verka "fungera", men det är inte tillförlitligt mellan olika körningar och miljöer, använd == istället;
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
  • För booleans, föredra sanningsvärdeskontroller.
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 i luckorna med is eller ==:

2. Vad är det korrekta sättet att testa för "inget värde"?

3. Vilket påstående är rekommenderat?

question-icon

Fyll i luckorna 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

Vad är det korrekta sättet att testa för "inget värde"?

Select the correct answer

question mark

Vilket påstående är rekommenderat?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3
some-alt