Hàm isinstance() và issubclass() trong python.
Trước tiên ta có ví dụ sau:
Kiểm tra xem 5 có phải là thuộc type : interger không ?
x = isinstance(5, int)
Định nghĩa và cách sử dụng:
Do vậy định nghiã hàm isinstance là trả về True khi object muốn kiểm tra là thuộc dạng của object mong muốn và trả về False
Syntax:
isinstance(object, type)
Thêm ví dụ:
x = isinstance("Hello", (float, int, str, list, dict, tuple))
"Hello" là một dạng dữ liệu trong list dạng dữ liệu mô tả trên thì trả về True
Ví dụ:
class myObj:
name = "John"
y = myObj()
x = isinstance(y, myObj)
name = "John"
y = myObj()
x = isinstance(y, myObj)
Nếu y là một dạng của instance myObj thì trả về True
Ví dụ phức tạp hơn :
class X:
pass
class Y(X):
pass
class Z(Y):
pass
x = Z()
z = Z()
print(isinstance(x,Z), isinstance(z,X))
Kết quả trả về : True True
Hàm issubclass()
Kiểm tra xem class: tuoi có phải là subclass của class: thanhvien không ?
class thanhvien:
thanhvien = 3
class tuoi(thanhvien):
name = "John"
age = thanhvien
x = issubclass(tuoi, thanhvien)
thanhvien = 3
class tuoi(thanhvien):
name = "John"
age = thanhvien
x = issubclass(tuoi, thanhvien)
Tương tự như hàm isinstance(), sẽ trả về True nếu tuoi là subclass của class: thanhvien.
Nhận xét
Đăng nhận xét