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
   102   103   104   105   106   107   108   109   110   111   112