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ênAttributeError
ngoại lệ, nếu thuộc tính được đặt tên không được tìm thấy vàdefault
khô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 AttributeError
báo rằng đối tượng không có thuộc tính giới tính.