Ders 24
3.5 - Donmuş Kümeler (frozenset)
Python programlama dilinde set (küme) veri tipi, güncellenebilir niteliği ile matematematikte tanımlı küme kavramına tam olarak uygunluk göstermez. Matematikte tanımlı kümeler, birbirlerinin alt kümeleri olabilirken Python programlama dilinde bu ancak güncellenemeyen bir veri tipi olan frozenset (donmuş küme) veri tipinde olanaklı olmaktadır. Donmuş küme veri tipinin, küme veri tipinden tek farkı güncellenemeyen bir veri tipi olmasıdır. Bu nedenle, gerek oluşumları, gerek elemanlarına erişimi, kümelerle yaklaşık aynı olan donmuş küme veri tipindeki nesne örneklerine uygulanabilecek olan metotlar, sadece güncellenemeyen bir veri tipine uygulanabilen metotlar olmaktadır.
3.5.1 - Donmuş Kümelerin Oluşumu
Donmuş kümeler, sadece frozenset() fonksiyonu uygulanarak oluşturulabilirler. Örnekler,
P = frozenset([45, 67, 333])
print(P)
Program Sonucu :
frozenset({67, 45, 333})
q = {'Alemdar' , 'Sahrayıcedid', 'Erenköy', 45, 36, 88}
PQ = frozenset(q)
print(PQ)
Program Sonucu :
frozenset({'Sahrayıcedid', 36, 'Erenköy', 'Alemdar', 88, 45})
import numpy as num
PW = frozenset(num.sin(i) for i in range(0,4))
print(PW)
Program Sonucu :
frozenset({0.0, 0.8414709848078965, 0.90929742682568171, 0.14112000805986721})
Özel matematik modülü numpy, iyi çalışan bir Winpython yerleşiminde, bulut ortamında Sage veya Wakari.io sitesinde Ipython uygulamalarından çağrılabilir. Eğer numpy'ye erişim sağlanamazsa, bu uygulama için, math modülünün ithali yeterli olacaktır.
import math
PW = frozenset(math.sin(i) for i in range(0,4))
print(PW)
Program Sonucu :
frozenset({0.0, 0.8414709848078965, 0.9092974268256817, 0.1411200080598672})
3.5.2 - Donmuş Küme Elemanlarına Erişim
Donmuş küme elemanlarına erişim için, küme elemanlarına erişim için kullanılan tüm yöntemlerden yararlanılabilir.
3.5.3 - Donmuş Küme Elemanlarına Uygulanabilen Metotlar
Donmuş küme veri tipi güncellenemez bir veri itpi
olduğundan, uygulanabilecek metotlar, küme veri tipine göre daha
kısıtlıdır. Bu metotlar. frozenset.copy(), frozenset.difference() (-),
frozenset.intersection() (&),
frozenset.isdisjoint(), frozenset.issubset() (<=; aynı zamanda özalt
kümeler için, <) , frozenset.issuperset() (>=; aynı zamanda özüst
kümeler için >), frozenset.union() (|) ve
frozenset.symmetric_difference() (^) metotlarıdır.
Python programlama dili ile ilk çalışmalarımıza buradan sonra SAGE alt yapısı ile çalışarak devam edecek ve burada sayısal örnekler yapacağız. SAGE Pyython programlama dile ile çalışan birçok modülü ve grafik programına erişim sağladığı için, Python bilgisi ile SAGE ortamında çalışmak çok avantajlı olacaktır. Python ile sayısal hesap yöntemleri konusunda çok sayıda uygulamalar yapacağız. SAGE ile devam ediyoruz....