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
   208   209   210   211   212   213   214   215   216   217   218