Çok çeşitli Python yerleşik modülleri, işlevleri ve ifadeleri, programcıların çeşitli görevleri gerçekleştirmesine yardımcı olur. getattr() işlevi, programcıların bir nesnenin öznitelik değerine erişmesine izin veren yerleşik bir Python işlevidir. Değer bulunamazsa, getattar() işlevi varsayılan değeri döndürür. Bu, getattr() işlevinin daha çok nesnelerin öznitelik değerlerine erişmek için kullanılmasının nedenidir. Bu makale, bazı örneklerle getattr() işlevinin ayrıntılı bir açıklamasını sağlayacaktır.
Sözdizimi
getattr() işlevinin uygulanmasına geçmeden önce, sözdizimini tartışacağız. getattr() işlevinin sözdizimi aşağıdaki gibidir:
getattr(nesne_adı,özellik_adı,defalut_değeri)
getattr() işlevi, argüman olarak üç parametre alır:
Nesne adı: Niteliğine erişmemiz gereken nesnenin adı.
nitelik_adı: Erişmemiz gereken özniteliğin adı.
varsayılan değer: Öznitelik bulunamadığında döndürülen varsayılan değer.
name özniteliği bulunamazsa ve varsayılan_değeri tanımlamazsak, getattar() işlevi bir AttributeError istisnası oluşturur.
Örnekler
Şimdi getattr() fonksiyonunu kullanarak bazı örneklere bakacağız. Bir öğrenci sınıfı oluşturduk ve bu sınıf için bazı nitelikler tanımladık. Bu niteliklere getattar() işlevini kullanarak erişiyoruz.
#öğrenci sınıfı oluşturmasınıf Öğrencisi:
#defining ad özelliği
isim = "John"
#bir e-posta özelliği tanımlama
email="[e-posta korumalı]"
#Öğrenci sınıfı nesnesi oluşturma
std_obj = Öğrenci()
#now std_obj bizim nesnemiz
#ad özelliğine erişme
print("name öznitelik değeri: ",getattr(std_obj,'name'))
#e-posta özelliğine erişme
print("E-posta özniteliği değeri: ",getattr(std_obj,'email'))
Çıktı
getattr() işlevi, nitelik değerlerini başarıyla döndürdü.
Şimdi tanımlı olmayan bir özniteliğe erişmeye çalışacağız. Bu eksik özellik için varsayılan değeri tanımlayacağız.
#öğrenci sınıfı oluşturmasınıf Öğrencisi:
#defining ad özelliği
isim = "John"
#bir e-posta özelliği tanımlama
email="[e-posta korumalı]"
#Öğrenci sınıfı nesnesi oluşturma
std_obj = Öğrenci()
#now std_obj bizim nesnemiz
#yaş özelliğine erişme
print("Yaş: ",getattr(std_obj,'age','20'nin üstünde'))
Tanımlanan değer “20 Üstü”.
Çıktı
'age' özniteliğinin eksik olması durumunda tanımlanan değer yazdırılır.
Değer tanımlı değilse, getattr() işlevi bir 'AttributeError' istisnası oluşturur. Bunun bir örneğini görelim.
#öğrenci sınıfı oluşturmasınıf Öğrencisi:
#defining ad özelliği
isim = "John"
#bir e-posta özelliği tanımlama
email="[e-posta korumalı]"
#Öğrenci sınıfı nesnesi oluşturma
std_obj = Öğrenci()
#now std_obj bizim nesnemiz
#yaş özelliğine erişme
print("Yaş: ",getattr(std_obj,'age'))
Çıktı
Değerlere erişmek için getattr() işlevini nametuple ile de kullanabilirsiniz. Adlandırılmış grup, sözlük türünde bir kapsayıcıdır, ancak değerlerine getattar() işlevini kullanarak erişebilirsiniz. Nametuple, bir koleksiyon modülü sınıfıdır. Bir adlandırılmış grup uygulayalım ve getattr() işlevini kullanarak değerlere erişelim. Öğrenci için bir adlandırılmış grup oluşturuyoruz.
#koleksiyon modülünü içe aktarmakoleksiyonları içe aktar
#bir öğrenci için bir adlandırılmış grup oluşturma
#isim ve yaş anahtardır
Öğrenci= koleksiyonlar.nametuple('Öğrenci',['isim','yaş'])
#yeni bir öğretmen oluşturma ve değerleri ekleme
std = Öğrenci("John",21)
print("Ad:" ,getattr(std,"isim"))
print("Yaş: ",getattr(std,"yaş"))
Çıktı
Sonuç
getattar() işlevi, Python'da bir nesne özniteliğinin değerini döndüren yerleşik bir işlevdir. getattr() işlevini kullanmanın birincil nedeni, özniteliğin adını kullanarak bir özniteliğin değerine erişmeyi kolaylaştırmasıdır. Nitelik adı bir dizge olarak tanımlanır ve değeri getattar() işlevini kullanarak alırız. Eksik öznitelik için bir değer de tanımlanabilir. Bu makaleyi okuduktan sonra, umarım Python getattar() işlevinin nasıl kullanılacağı hakkında daha fazla şey öğrenmişsinizdir.