Kiểm tra loại đối tượng trong Python
Để kiểm tra loại của một phần tử, bạn cần sử dụng
hàm isinstance. Hàm này nhận phần tử làm
tham số thứ nhất và loại cần kiểm tra làm tham số
thứ hai. Trong đó,
tên cho tham số thứ hai
được lấy từ tên các hàm chuyển đổi dữ liệu
thành loại tương ứng: cho chuỗi - str,
số nguyên - int, danh sách - list
v.v. Hàm isinstance trả về
giá trị boolean: nếu phần tử khớp với
loại, nó sẽ trả về True, trong
trường hợp ngược lại - False.
Ví dụ
Giả sử chúng ta có biến tst.
Hãy kiểm tra xem giá trị của nó có phải là một
chuỗi hay không. Để làm điều này, bên phải if
chúng ta viết hàm isinstance. Truyền vào
tham số của nó là tst và loại
str. Nếu giá trị và loại dữ liệu
trùng khớp, hãy hiển thị thông báo tương ứng:
tst = 'a'
if isinstance(tst, str):
print('string')
Kết quả thực thi mã:
'string'
Ví dụ
Bây giờ hãy kiểm tra xem biến có phải là số nguyên không:
tst = 12
if isinstance(tst, int):
print('integer')
Kết quả thực thi mã:
'integer'
Ví dụ
Để kiểm tra xem tst có phải là
số thực dấu phẩy động không, vào tham số thứ hai
của isinstance cần truyền
loại float:
tst = 12.0
if isinstance(tst, float):
print('float')
Kết quả thực thi mã:
'float'
Ví dụ
Bây giờ hãy viết một điều kiện để
kiểm tra tst có phải là danh sách không:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
Kết quả thực thi mã:
'list'
Ví dụ
Hãy kiểm tra xem biến có phải là một tuple không:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
Kết quả thực thi mã:
'tuple'
Ví dụ
Bây giờ hãy đặt điều kiện để biết giá trị của biến có phải là từ điển không:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
Kết quả thực thi mã:
'dictionary'
Bài tập thực hành
Giả sử bạn có một biến. Hãy kiểm tra xem giá trị của nó có phải là số nguyên không.
Hãy tìm hiểu xem biến đã cho có phải là số thực dấu phẩy động không.
Kiểm tra xem biến có chứa giá trị kiểu chuỗi không.
Kiểm tra xem biến đã cho có phải là từ điển không.
Kiểm tra xem biến đã cho có phải là tập hợp (set) không.
Kiểm tra xem biến đã cho có phải là tuple không.
Kiểm tra xem biến đã cho có phải là danh sách không.