Page 213 - Bilgisayar Bilimi | Kur 1
P. 213
Ekran Çıktısı
f1 = 1/2
f2 = 1/2
f3 = 1/2
f1 numerator, denominator: 1 2
f2 numerator, denominator: 1 2
f3 numerator, denominator: 1 2
f1 == f2? True
f1 == f3? True
f1 is f2? False
f1 is f3? True
9.20. Kesir Nesneleri
f1 = Fraction(1, 2)
Komutu «Fraction» (kesir) sınıfını çağırarak yeni bir kesir nesnesi oluşturur, bu komut ile paya 1 ve
paydaya 2 değeri atanır. «f1» değişkeni de bu yeni kesir nesnesine atanır.
fraction object. The statement
f2 = Fraction(1, 2)
komutu aynı şekilde davranarak «f2» nesnesi de bu kesir nesnesine atanır.
f3 = f1
komutu ile «f3» değişkeni diğerleri ile aynı kesir nesnesine atanır. Ancak, söz dizimi «Fraction» sınıf
yapısını içerdiğinden yeni bir kesir nesnesi oluşturmaz. Bu aşamada iyi kesir nesnemiz ve buna bağlı 3
değişkenimiz vardır. Aşağıda nesneler ve kesir arasındaki ilişki görülmektedir.
1
f1 2
f2
1
f3
2
Görüldüğü gibi f1 ve f3 aynı nesneyi işaret etmektedir. Bu durum «örtüşme» olarak ifade edilir, yani
f1 ile f3 örtüşmektedir. (f1 aliases f3). Kesirlerin mantıksal olarak eşitliğini karşılaştırmak için kesir
nesnesine ait __eq__ yöntemi «== « operatörü ile kullanılır.
print(‘f1 == f2?’, f1 == f2)
print(‘f1 == f3?’, f1 == f3)
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.
212