Python getattr ()

Kaedah getattr () mengembalikan nilai atribut bernama objek. Sekiranya tidak dijumpai, ia mengembalikan nilai lalai yang disediakan untuk fungsi tersebut.

Sintaks getattr()kaedah adalah:

 getattr (objek, nama (, lalai))

Sintaks di atas bersamaan dengan:

 objek.nama

getattr () Parameter

getattr() kaedah mengambil beberapa parameter:

  • objek - objek yang nilai atribut dinamakan akan dikembalikan
  • name - string yang mengandungi nama atribut
  • lalai (Pilihan) - nilai yang dikembalikan apabila atribut bernama tidak dijumpai

Nilai pulangan dari getattr ()

getattr() kaedah mengembalikan:

  • nilai atribut bernama objek yang diberi
  • default, jika tiada atribut bernama dijumpai
  • AttributeErrorpengecualian, jika atribut bernama tidak dijumpai dan defaulttidak ditentukan

Contoh 1: Bagaimana getattr () berfungsi di Python?

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

Pengeluaran

 Umur adalah: 23 Umur adalah: 23 

Contoh 2: getattr () apabila dinamakan atribut tidak dijumpai

 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'))

Pengeluaran

 Jenis kelamin adalah: Atribut LelakiError: Objek 'Person' tidak mempunyai atribut 'sex' 

Seks atribut yang dinamakan tidak terdapat dalam kelas Orang. Jadi, apabila memanggil getattr()kaedah dengan nilai lalai Male, ia mengembalikan Lelaki.

Tetapi, jika kita tidak memberikan nilai lalai, ketika atribut bernama seks tidak dijumpai, itu menimbulkan AttributeErrorpepatah bahawa objek tersebut tidak memiliki atribut seks.

Artikel menarik...