Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python isinstance(): Hướng Dẫn Bước Đi Bước

Hàm isinstance() trong Python trả về True hoặc False nếu biến khớp với kiểu dữ liệu chỉ định. Cú pháp: isinstance(variable_to_check, data_type).

Kiểm tra kiểu dữ liệu của giá trị là thao tác phổ biến. Ví dụ: muốn kiểm tra giá trị lưu trong biến là chuỗi hay số, vì mỗi kiểu hoạt động khác nhau trong code.

Hàm isinstance() rất hữu ích. Đây là phương thức built-in Python cho phép xác minh kiểu dữ liệu của giá trị cụ thể. Ví dụ: dùng isinstance() kiểm tra giá trị có phải string hay list.

Hướng dẫn này sẽ đi qua cách dùng isinstance() trong Python với vài ví dụ để hiểu rõ hơn.

Tổng Quan Python isinstance()

Khi code Python, bạn dùng nhiều kiểu dữ liệu: string, number, list, tuple, dictionary. Mỗi kiểu có quy tắc riêng về lưu trữ và thao tác. Ví dụ: Python cho phép phép toán số học trên số nhưng không phải string.

Do đó, quan trọng phải làm việc với đúng kiểu dữ liệu. Dùng isinstance() Python để xác minh dữ liệu đang làm việc có được lưu trữ đúng kiểu hay không. Khi dùng Python, hãy kiểm tra kiểu dữ liệu khi cần.

isinstance() là hàm built-in kiểm tra xem giá trị có được lưu trữ dưới kiểu dữ liệu cụ thể hay không. Khác với type() (thảo luận sau), isinstance() chỉ trả về True hoặc False tùy giá trị có khớp kiểu chỉ định hay không.

Cú pháp isinstance():

isinstance(object, data_types)

2 tham số bắt buộc:

  • object: đối tượng muốn kiểm tra kiểu dữ liệu.
  • data_types: ít nhất một kiểu dữ liệu có thể của đối tượng. Nếu so sánh với 2+ kiểu, truyền tuple làm tham số data_types.

isinstance() so sánh object với kiểu dữ liệu chỉ định. Trả về True nếu object thuộc kiểu dữ liệu (hoặc một trong các kiểu) chỉ định, False nếu không.

Bản chất: bạn đưa ra câu khẳng định có chỗ trống và đáp án. Câu: Đối tượng này là (kiểu dữ liệu). Tham số data_type hoàn thành câu. Ví dụ:

  • 12 là số.
  • books là số.

Trả về True hoặc False.

Ví Dụ Python isinstance()

Chạy 2 ví dụ minh họa cách dùng isinstance(). Giả sử có giá trị, muốn xác minh là string:

print(isinstance("String", str))

Kiểm tra kiểu và hàm trả về: True. Vì "String" thực sự là string (str là tên kiểu string trong Python).

Ví dụ chi tiết hơn: xây game nhân 2 cho lớp 2. Game đưa bài toán, kiểm tra đáp án người chơi.

Để chương trình chạy, cần chắc chắn người chơi nhập số. Dùng isinstance() kiểm tra:

answer = 5 * 8
user_answer = input("What is 5 x 8?")
print(isinstance(user_answer, (int, float)))

Kết quả: False.

Phân tích: Dòng 1 tính đáp án (40). Dòng 2 lấy input từ người chơi. Dòng 3 kiểm tra user_answer có phải integer hoặc float (2 kiểu số trong Python) không. Dùng tuple (int, float) làm tham số thứ 2.

Trả về False vì input() mặc định trả về string ngay cả khi người dùng nhập số. Cần chuyển đổi sang int:

answer = 5 * 8
user_answer = int(input("What is 5 x 8?"))
print(isinstance(user_answer, (int, float)))

Bây giờ chạy → True. Chỉ khác ở chỗ bọc int() ngoài input() để chuyển sang integer. Lúc này isinstance() xác nhận giá trị là int hoặc float.

isinstance() cũng dùng so sánh đối tượng với class cụ thể (không chỉ built-in type).

type() vs isinstance()

Nếu từng cần kiểm tra kiểu giá trị Python, có thể gặp type(). type() là built-in function tìm kiểu của biến/giá trị. Cú pháp:

type(data)

Ví dụ: có số, muốn xem nó được code dưới kiểu gì:

number = 8
print(type(number))

Kết quả: <class 'int'>. Trả về kiểu dữ liệu thực tế.

Khác biệt lớn: Muốn xem kiểu dữ liệu → dùng type(). Muốn xác minh giá trị có phải kiểu cụ thể (string, float...) → dùng isinstance().

Kết Luận

Trong Python, dùng isinstance() xác minh giá trị có giữ kiểu dữ liệu cụ thể. Ví dụ: xác minh list lưu dưới dạng list, số lưu dưới dạng float...

Hướng dẫn Python này minh họa cách dùng isinstance() xác minh kiểu dữ liệu. Bây giờ bạn đã có thông tin để dùng isinstance() như bậc thầy Python!