Page 107 - Bilgisayar Bilimi Kur 1| 2. Bölüm
P. 107
komutlarının üçü de mantıksal olarak birbirine eş değer değişkenler olduğunu açığa çıkarmaktadır.
“__eq__” yöntemi (==) ile kesirlerin pay ve payda değerleri eşitlik konusunda karar verebilmek için ayrı
ayrı karşılaştırılmaktadır.
Bazen mantıksal eşitlik yeterli olmaz ve her iki değişkenin de aynı nesneye ait olup olmadığını bil-
mek isteriz.
print("f1 ile f2 aynı değer mi?", f1 is f2)
print("f1 ile f3 aynı değer mi?", f1 is f3)
komutları f1 ve f2’nin iki farklı nesneyi, f1 ve f3’ün ise aynı nesneye işaret ettiğini gösterir. Bu durumda
f1 ve f3 örtüşmektedir.
Python “id” isimli bir; fonksiyonu vardır ve bu fonksiyon, her bir nesne için özel oluşturulmuş bir
tam sayı değeri döndürür (Çoğu Python uygulamalarında bu değer programın nesneyi yerleştirdiği
hafızanın başlangıç adresidir.). a ve b nesne ise bu nesnelerin eş değerliği aşağıdaki biçimde sorgulanır.
id(a) == id(b)
Nesnelerin örtüşüp örtüşmediğine bakılırken değişkenlerin türü önemli değildir. Tam sayı değeri
olarak 3 her zaman 3’tür. Dizi olarak ‘‘Fred’’ kelimesi ‘‘Free’’ olarak değişemez. Kesir sınıfı örnekleri
de bu şekilde değişkendir. Değişken nesneler için örtüşme önemli bir konu olabilir. Python’un Turtle
grafik kütüphanesindeki nesneler değişkendir. Programcılar kaplumbağa nesnesini hareket ettirebilir ve
yönünü ve çizim rengini değiştirebilirler. Her bir işlem kaplumbağanın durumunu değiştirir ve grafik
pencere içinde kaplumbağanın çizim sürecini etkiler.
Düşünelim/Deneyelim
Python Turtle grafikleri kullanarak aşağıdaki şekilleri oluşturunuz.
213