Didžioji „Python“ integruotų modulių, funkcijų ir teiginių įvairovė padeda programuotojams atlikti įvairias užduotis. Funkcija getattr () yra „Python“ integruota funkcija, leidžianti programuotojams pasiekti objekto atributo vertę. Jei reikšmė nerandama, funkcija getattar () grąžina numatytąją vertę. Tai yra priežastis, kodėl funkcija getattr () dažniausiai naudojama norint pasiekti objektų atributų reikšmes. Šiame straipsnyje bus pateiktas išsamus getattr () funkcijos paaiškinimas su keliais pavyzdžiais.
Sintaksė
Prieš pereidami prie funkcijos getattr () įgyvendinimo, pirmiausia aptarsime jos sintaksę. Funkcijos getattr () sintaksė yra tokia:
getattr (objekto_vardas, atributo_pavadinimas, defalut_value)
Funkcijoje „getattr ()“ argumentai yra trys:
objekto_vardas: Objekto, kurio atributą turime pasiekti, pavadinimas.
atributo_pavadinimas: Atributo, kurį turime pasiekti, pavadinimas.
Numatytoji reikšmė: Numatytoji vertė, kuri grąžinama, kai atributas nerandamas.
Jei vardo atributas nerastas ir mes neapibrėžiame default_value, funkcija getattar () kelia išimtį AttributeError.
Pavyzdžiai
Dabar apžvelgsime keletą pavyzdžių, naudodami funkciją getattr (). Mes sukūrėme mokinių klasę ir apibrėžėme keletą šios klasės atributų. Šiuos atributus pasiekiame naudodami funkciją getattar ().
# mokinių klasės sukūrimasklasės mokinys:
#defining name atributas
vardas = "Jonas"
#defining el. pašto atributas
paštas = "[el. paštas apsaugotas]"
# Studentų klasės objekto sukūrimas
std_obj = Studentas ()
#now std_obj yra mūsų objektas
#accessing vardo atributas
spausdinti ("Pavadinimo atributo reikšmė yra:", getattr (std_obj, 'vardas'))
#accessing el. pašto atributas
spausdinti ("El. pašto atributo reikšmė yra:", getattr (std_obj, 'email'))
Rezultatas
Funkcija getattr () sėkmingai grąžino atributo reikšmes.
Dabar bandysime pasiekti neapibrėžtą atributą. Apibrėžsime numatytąją šio trūkstamo atributo vertę.
# mokinių klasės sukūrimasklasės mokinys:
#defining name atributas
vardas = "Jonas"
#defining el. pašto atributas
paštas = "[el. paštas apsaugotas]"
# Studentų klasės objekto sukūrimas
std_obj = Studentas ()
#now std_obj yra mūsų objektas
#accessing amžiaus atributas
spausdinti ("Amžius yra:", getattr (std_obj, 'amžius', 'Virš 20'))
Apibrėžta vertė yra „virš 20“.
Rezultatas
Jei trūksta „amžiaus“ atributo, apibrėžta reikšmė atspausdinama.
Jei reikšmė neapibrėžta, funkcija getattr () sukels išimtį „AttributeError“. Pažiūrėkime to pavyzdį.
# mokinių klasės sukūrimasklasės mokinys:
#defining name atributas
vardas = "Jonas"
#defining el. pašto atributas
paštas = "[el. paštas apsaugotas]"
# Studentų klasės objekto sukūrimas
std_obj = Studentas ()
#now std_obj yra mūsų objektas
#accessing amžiaus atributas
spausdinti ("Amžius yra:", getattr (std_obj, 'amžius'))
Rezultatas
Norėdami pasiekti reikšmes, taip pat galite naudoti funkciją getattr () su namedtuple. „Namedtuple“ yra žodyno tipo sudėtinis rodinys, tačiau jo reikšmes galite pasiekti naudodami funkciją getattar (). „Namedtuple“ yra kolekcijų modulio klasė. Įgyvendinkime pavadintą paketą ir pasieksime reikšmes naudodami funkciją getattr (). Kuriame pavadintą mokinį studentui.
#importuoti kolekcijų modulįimportuoti kolekcijas
#creating theuptuple studentui
# vardas ir amžius yra raktai
Studentas = kolekcijos.namedtuple ('Studentas', ['vardas', 'amžius'])
# sukurti naują mokytoją ir pridėti vertybių
std = Studentas („Jonas“, 21)
spausdinti ("Pavadinimas yra:", getattr (standartinis, "vardas"))
spausdinti ("Amžius yra:", getattr (standartinis, "amžius"))
Rezultatas
Išvada
Funkcija getattar () yra įmontuota „Python“ funkcija, kuri grąžina objekto atributo vertę. Pagrindinė funkcijos getattr () naudojimo priežastis yra ta, kad ji leidžia lengvai pasiekti atributo vertę naudojant atributo pavadinimą. Atributo pavadinimas apibrėžiamas kaip eilutė, o vertę gauname naudodamiesi funkcija getattar (). Taip pat galima apibrėžti trūkstamo atributo vertę. Perskaitę šį straipsnį, tikimės, sužinojote daugiau apie tai, kaip naudoti „Python getattar“ () funkciją.