Python getattr ()

Phương thức getattr () trả về giá trị của thuộc tính được đặt tên của một đối tượng. Nếu không tìm thấy, nó trả về giá trị mặc định được cung cấp cho hàm.

Cú pháp của getattr()phương thức là:

 getattr (đối tượng, tên (, mặc định))

Cú pháp trên tương đương với:

 tên của môn học

Tham số getattr ()

getattr() phương thức nhận nhiều tham số:

  • object - đối tượng có giá trị của thuộc tính được đặt tên sẽ được trả về
  • tên - chuỗi chứa tên của thuộc tính
  • default (Tùy chọn) - giá trị được trả về khi không tìm thấy thuộc tính có tên

Giá trị trả về từ getattr ()

getattr() phương thức trả về:

  • giá trị của thuộc tính được đặt tên của đối tượng đã cho
  • default, nếu không tìm thấy thuộc tính được đặt tên
  • AttributeErrorngoại lệ, nếu thuộc tính được đặt tên không được tìm thấy và defaultkhông được xác định

Ví dụ 1: Cách getattr () hoạt động trong Python?

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

Đầu ra

 Tuổi là: 23 Tuổi là: 23 

Ví dụ 2: getattr () khi không tìm thấy thuộc tính có tên

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

Đầu ra

 Giới tính là: Male AttributeError: Đối tượng 'Person' không có thuộc tính 'sex' 

Thuộc tính được đặt tên là giới tính không có trong lớp Person. Vì vậy, khi gọi getattr()phương thức với giá trị mặc định Male, nó sẽ trả về Male.

Tuy nhiên, nếu chúng tôi không cung cấp bất kỳ giá trị mặc định nào, khi không tìm thấy thuộc tính được đặt tên là giới tính, nó sẽ dẫn đến thông AttributeErrorbáo rằng đối tượng không có thuộc tính giới tính.

thú vị bài viết...