piton

Python getattr() İşlevi

Python getattr() İşlevi

Ç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şturma
sı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şturma
sı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şturma
sı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 aktarma
koleksiyonları 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.

Linux'ta FPS Nasıl Arttırılır?
FPS'nin kısaltması Saniyedeki Kare Sayısı. FPS'nin görevi, video oynatma veya oyun performanslarındaki kare hızını ölçmektir. Basit bir deyişle, her s...
En İyi Oculus Uygulama Laboratuvarı Oyunları
Oculus başlık sahibiyseniz, yandan yükleme hakkında bilgi sahibi olmalısınız. Sideloading, kulaklığınıza mağaza dışı içerik yükleme işlemidir. SideQue...
Ubuntu'da Oynanacak En İyi 10 Oyun
Windows platformu, günümüzde doğal olarak Windows'u desteklemek için geliştirilen oyunların büyük bir yüzdesi nedeniyle oyun oynamak için hakim platfo...