Pythoni getattr ()

Meetod getattr () tagastab objekti nimelise atribuudi väärtuse. Kui seda ei leita, tagastab funktsioonile antud vaikeväärtuse.

Meetodi süntaks getattr()on:

 getattr (objekt, nimi (vaikimisi))

Ülaltoodud süntaks on samaväärne järgmisega:

 objekti.nimi

getattr () parameetrid

getattr() meetod võtab mitu parameetrit:

  • objekt - objekt, mille nimelise atribuudi väärtus tagastatakse
  • nimi - string, mis sisaldab atribuudi nime
  • default (valikuline) - väärtus, mis tagastatakse, kui nimetatud atribuuti ei leita

Tagastusväärtus väärtuselt getattr ()

getattr() meetod tagastab:

  • antud objekti nimelise atribuudi väärtus
  • default, kui nimega atribuuti ei leitud
  • AttributeErrorerand, kui nimega atribuuti ei leita ja defaultpole määratletud

Näide 1: Kuidas getattr () Pythonis töötab?

 class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)

Väljund

 Vanus on: 23 Vanus on: 23 

Näide 2: getattr (), kui nimega atribuuti ei leita

 class Person: age = 23 name = "Adam" person = Person() # when default value is provided print('The sex is:', getattr(person, 'sex', 'Male')) # when no default value is provided print('The sex is:', getattr(person, 'sex'))

Väljund

 Sugu on: Mees AtribuutError: Objektil 'Isik' pole atribuuti 'sugu' 

Nimetatud atribuut sugu klassis Isik puudub. Nii getattr()et vaikeväärtusega meetodi helistamisel Maletagastatakse mees.

Kuid kui me ei anna vaikeväärtust, siis kui nimetatud atribuuti sugu ei leita, tekitab see AttributeErrorütluse, et objektil pole soo atribuuti.

Huvitavad Artiklid...