Menu
Coddy logo textTech

Kimlik Kontrolleri

Coddy'nin Python Journey'sinin Logic & Flow bölümünün bir parçası — ders 26 / 78.

Python'da, is ve is not operatörleri nesnelerin kimliğini kontrol etmek için kullanılır. İki değişkenin aynı değere sahip olup olmadığını kontrol eden == operatörünün aksine, is operatörü iki değişkenin bellekteki tam olarak aynı nesneye başvurup başvurmadığını kontrol eder.

is'in temel kullanımı:

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)  # Çıktı: True
print(a is c)  # Çıktı: False

Bu örnekte, a ve b aynı liste nesnesine başvurur, bu nedenle a is b True döndürür. Ancak, a ve c aynı değerlere sahip farklı liste nesneleridir, bu nedenle a is c False döndürür.

is not'ın Temel Kullanımı:

x = 5
y = 5
z = 10

print(x is not y)  # Çıktı: False
print(x is not z)  # Çıktı: True

Burada, x ve y aynı tam sayı nesnesine başvurur (Python'ın küçük tam sayılar için yaptığı optimizasyonlar nedeniyle), bu yüzden x is not y False değerini döndürür. x ve z farklı nesnelerdir, bu yüzden x is not z True değerini döndürür.

Kimlik denetimleri, iki değişkenin sadece aynı değere sahip olmasından ziyade, bellekte aynı nesneye işaret edip etmediğini belirlemek istediğinizde özellikle yararlıdır.

challenge icon

Görev

Kolay

list1 ve list2 adında iki değişken oluşturun, burada:

  • list1, [1, 2, 3] listesine başvurur.
  • list2 aynı nesneye atanır.

list1 ve list2 değişkenlerinin aynı nesneye başvurup başvurmadığını kontrol etmek için is operatörünü kullanın.
list1 ve list2 değişkenlerinin farklı nesnelere başvurup başvurmadığını kontrol etmek için is not operatörünü kullanın.
Kontrollerin sonuçlarını yazdırın.

Kopya kağıdı

is ve is not operatörleri, sadece == gibi değer eşitliğini değil, bellekteki nesne kimliğini kontrol eder.

Değişkenlerin aynı nesneye başvurup başvurmadığını kontrol etmek için is kullanmak:

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)  # Çıktı: True
print(a is c)  # Çıktı: False

Değişkenlerin farklı nesnelere başvurup başvurmadığını kontrol etmek için is not kullanmak:

x = 5
y = 5
z = 10

print(x is not y)  # Çıktı: False
print(x is not z)  # Çıktı: True

Kimlik kontrolleri, iki değişkenin sadece aynı değere sahip olup olmadığını değil, bellekte aynı nesneyi işaret edip etmediğini belirler.

Kendin dene

# Buraya kod yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Logic & Flow bölümündeki tüm dersler