Hàm getattr() trong Python
Hàm getattr() trong Python trả về giá trị của thuộc tính bạn muốn tìm, nếu đối tượng không có thuộc tính này hàm sẽ trả về giá trị mặc định được cung cấp. Cú pháp của hàm getattr() như thế nào, nó có những tham số gì và cách sử dụng ra sao? Mời bạn đọc theo dõi.
Cú pháp hàm getattr() trong Python
getattr(doituong, tenthuoctinh[, macdinh])
Các tham số của hàm getattr()
Hàm getattr() có 3 tham số:
- doituong: đối tượng bạn muốn kiểm tra.
- tenthuoctinh: tên của thuộc tính cần tìm kiếm.
- macdinh: Giá trị trả về nếu thuộc tính không tồn tại.
Lưu ý: Hàm getattr() trả về:
- Giá trị của thuộc tính nếu đối tượng có thuộc tính truyền vào.
- Giá trị mặc định nếu đối tượng không có thuộc tính truyền vào.
- Ngoại lệ AttributionError nếu không tìm thấy thuộc tính và giá trị mặc định không được xác định.
Ví dụ 1: Hàm getattr() hoạt động thế nào?
class Nhanvien:
tuoi = 23
ten = "QuachTinh"
nhanvien = Nhanvien()
print('So tuoi la:', getattr(nhanvien, "tuoi"))
print('So tuoi la:', nhanvien.tuoi)
Chạy chương trình, kết quả trả về là:
So tuoi la: 23
So tuoi la: 23
Ví dụ 2: Tham số giá trị mặc định
class Nhanvien:
tuoi = 23
ten = "Adam"
nhanvien = Nhanvien()
# Khi truyền giá trị mặc định
# Viết bởi Quantrimang.comprint('Gioi tinh nhan vien la:', getattr(nhanvien, 'gioitinh', 'Nam'))
# Khi không truyền giá trị mặc định
print('Gioi tinh nhan vien la:', getattr(nhanvien, 'gioitinh'))
Chạy chương trình ta được kết quả là:
Gioi tinh nhan vien la: Nam
AttributeError: 'Nhanvien' object has no attribute 'gioitinh'
Thuộc tính không có trong class Nhanvien, vậy nên khi gọi hàm getattr với giá trị mặc định là Nam thì hàm sẽ trả về ‘Nam’, còn nếu không truyền tham số này như đoạn code phía dưới, chương trình sẽ phát sinh ngoại lệ AttributeError.
4.107
Bạn nên đọc
0 Bình luận
Sắp xếp theo
Xóa Đăng nhập để Gửi
Cũ vẫn chất
-
Công thức tính diện tích xung quanh hình nón cụt, diện tích toàn phần hình nón cụt, thể tích hình nón cụt
Hôm qua -
Các cách làm, tùy chỉnh trong bài sẽ giúp tăng tốc Windows 10 của bạn "nhanh như gió"
Hôm qua 6 -
PowerPoint 2016: Cách căn lề và giãn dòng
Hôm qua -
LGBT là gì? LGBTQ+ là gì? Cộng đồng LGBT gồm những ai?
Hôm qua -
Hướng dẫn tải PSP cho iOS không cần jailbreak
Hôm qua -
Code Jujutsu Sorcerer mới nhất, đổi full gems, vé triệu hồi
Hôm qua -
Cách gỡ cài đặt bất kỳ ứng dụng Android nào bằng ADB (bao gồm cả ứng dụng hệ thống và bloatware)
Hôm qua -
Microsoft công bố yêu cầu hệ thống tối thiểu và danh sách CPU hỗ trợ Windows 11 LTSC 2024
Hôm qua -
Cách sử dụng Gemini 1.5 Flash miễn phí
Hôm qua -
Cách xem tắc đường trên Google Traffic, xem mật độ giao thông
Hôm qua