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 = 23ten = "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: 23So tuoi la: 23
Ví dụ 2: Tham số giá trị mặc định
class Nhanvien:tuoi = 23ten = "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 địnhprint('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: NamAttributeError: '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.
Bạn nên đọc
-
Làm việc với File trong Python
-
Hơn 100 bài tập Python có lời giải (code mẫu)
-
Viết chương trình tính căn bậc hai của một số bằng Python
-
Hàm open() trong Python
-
Biến toàn cục (global), biến cục bộ (local), biến nonlocal trong Python
-
Hàm map() trong Python
-
Hàm isinstance() trong Python
-
Từ khóa global trong Python
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Hướng dẫn nâng cấp nhóm Zalo lên cộng đồng
3 ngày -

Cách đổi mật khẩu truy cập Ultraviewer
3 ngày -

Cách dùng biểu tượng cảm xúc trong Đấu Trường Chân Lý
3 ngày -

Cách bật NFC trên iPhone dễ, nhanh nhất
3 ngày -

Code Sự tiến hóa tối thượng: Saiyan mới nhất và cách nhập code
3 ngày -

Những hình ảnh động chúc mừng sinh nhật thêm ý nghĩa
3 ngày -

5 cách lấy kim cương miễn phí trong Free Fire
3 ngày 3 -

Lời chúc Tết Đoan ngọ mùng 5/5 âm lịch, thơ hay về Tết Đoan Ngọ
3 ngày 1 -

Đi thi THPT quốc gia mặc gì?
3 ngày -

19/5 là ngày gì? Ngày 19 tháng 5 năm 1890 là ngày gì?
3 ngày 6
Hướng dẫn AI
Học IT
Hàm Excel