Làm cách nào để tìm một loại cụ thể trong python?

Mỗi đối tượng Python thuộc một loại nhất định, còn được gọi là “lớp”. Lớp là một bản thiết kế hiển thị dữ liệu và khả năng của từng đối tượng/thực thể được tạo sau bản thiết kế này

Đưa ra một đối tượng Python [=instance]. Làm cách nào để xác định/kiểm tra/lấy loại của nó [= lớp]?

Có nhiều biến thể của câu hỏi này

  • Làm thế nào để xác định loại đối tượng?
  • Làm cách nào để kiểm tra loại phiên bản?
  • Làm thế nào để có được lớp của một đối tượng?
  • Làm cách nào để kiểm tra lớp của một thể hiện?

Hãy bắt đầu với một tổng quan ngắn về cách bạn có thể trả lời tất cả những câu hỏi đó theo cách Pythonic nhất

Tổng quan về giải pháp

Trong Python, các hàm có sẵn

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
2 và
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
0 giúp bạn xác định loại đối tượng

  • >>> type[[1, 2, 3]] is list
    True
    >>> type[{1, 2, 3}] is dict
    True
    >>> type['123'] is str
    True
    >>> type[0] is int
    True
    
    1 – Trả về một chuỗi đại diện cho loại đối tượng
  • >>> type[[1, 2, 3]] is list
    True
    >>> type[{1, 2, 3}] is dict
    True
    >>> type['123'] is str
    True
    >>> type[0] is int
    True
    
    2 – Trả về giá trị Boolean
    >>> type[[1, 2, 3]] is list
    True
    >>> type[{1, 2, 3}] is dict
    True
    >>> type['123'] is str
    True
    >>> type[0] is int
    True
    
    3 nếu đối tượng là một thể hiện của lớp và
    >>> type[[1, 2, 3]] is list
    True
    >>> type[{1, 2, 3}] is dict
    True
    >>> type['123'] is str
    True
    >>> type[0] is int
    True
    
    4 nếu không

Dưới đây là hai ví dụ để kiểm tra xem một đối tượng có phải là danh sách không

>>> type[[1, 2, 3]]

>>> isinstance[[1, 2, 3], list]
True

Bạn sẽ sử dụng

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
2 để kiểm tra loại đối tượng chính xác. Bạn sẽ sử dụng
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
0 để xác nhận những nghi ngờ của mình về loại đối tượng. Hàm
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
0 mạnh mẽ hơn ở chỗ bạn không dựa vào các khác biệt nhỏ về chuỗi và nó cũng hoạt động với kiểu kế thừa. Ví dụ: nếu A kế thừa từ B kế thừa từ C, một đối tượng kiểu C cũng là một thể hiện của A

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
8 ví dụ với một đối số đối tượng

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
2 với các đối tượng tùy chỉnh

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
0

Ví dụ thứ ba

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
00 dẫn chúng ta đến cái nhìn sâu sắc sau đây

🌍 Thông tin chi tiết.

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
2 chỉ trả về loại đối tượng trực tiếp, nhưng không hoạt động với tính kế thừa

Nếu muốn khắc phục điểm yếu này, bạn nên sử dụng hàm

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
02 cũng dùng được cho kiểu kế thừa

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
3

Bạn cũng có thể sử dụng nó trên các đối tượng và loại tích hợp sẵn, chẳng hạn như danh sách, bộ dữ liệu, bộ và từ điển

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
4

Trường hợp sử dụng duy nhất mà bạn thích

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
2 hơn
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
0 là nếu bạn thực sự cần biểu diễn chuỗi kiểu của một đối tượng. Mặt khác,
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
0 là một chức năng linh hoạt và biểu cảm hơn

loại [] so với isinstance []

Sự khác biệt giữa

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
2 và
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
0 là giá trị trả về là biểu diễn chuỗi cho giá trị trước và giá trị Boolean cho giá trị sau. Bạn sẽ sử dụng hàm
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
2 nếu bạn không biết gì. Nếu bạn đã nghi ngờ một đối tượng thuộc một loại nhất định [=class], bạn có thể xác nhận nghi ngờ của mình bằng cách sử dụng hàm
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
0

Loại Python[] Hàm

Hàm

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
2 tích hợp sẵn của Python có hai mục đích. Trước tiên, bạn có thể chuyển một đối số
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
31 để kiểm tra loại đối tượng này. Thứ hai, bạn có thể chuyển ba đối số—______ 132, ________ 133 và ________ 134—để tạo một đối tượng kiểu mới có thể được sử dụng để tạo các thể hiện của kiểu mới này

Loại Python[] Hàm


Xem video này trên YouTube

Đây là cách sử dụng hàm

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
2 với một đối số để kiểm tra loại của một
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
31 đã cho

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
4
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
5Luận cứ
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
31Đối tượng cần kiểm tra loại. Giá trị trả về
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
38Trả về biểu diễn chuỗi của lớp
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
31

Hướng dẫn liên quan. Loại Python[] Hàm

Hàm isinstance[] trong Python

Hàm

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
40 tích hợp sẵn của Python lấy một
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
31 và một lớp làm đối số đầu vào. Nó trả về
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
3 nếu
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
31 là một thể hiện của lớp. Ngược lại, nó trả về
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
4. Thay vì một lớp, bạn cũng có thể truyền một bộ các lớp để kiểm tra xem đối tượng có phải là một thể hiện của bất kỳ lớp nào trong bộ không—chẳng hạn như trong
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
45

Python isinstance[] - Hướng dẫn hữu ích với các ví dụ


Xem video này trên YouTube

Học bằng ví dụ. Đây là một ví dụ về cách sử dụng hàm tích hợp sẵn

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
0

>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
6
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
7Đối số
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
31Đối tượng cần được kiểm tra tư cách thành viên của lớp.
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
48 hoặc
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
49Lớp hoặc bộ lớp đối tượng này có thể thuộc hoặc không thuộc. Giá trị trả về
>>> type[[1, 2, 3]] is list
True
>>> type[{1, 2, 3}] is dict
True
>>> type['123'] is str
True
>>> type[0] is int
True
40Trả về đối tượng có thuộc lớp [hoặc các lớp] hay không

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Làm cách nào để kiểm tra kiểu dữ liệu Python?

Kiểm tra kiểu dữ liệu bằng cách sử dụng type[]. Nói chung, chúng tôi sử dụng hàm type[] để kiểm tra kiểu dữ liệu của bất kỳ biến nào được sử dụng trong Python. Hàm type[] có thể trả về kiểu dữ liệu với một đối số. Tuy nhiên, kiểu dữ liệu được sử dụng trong Python hơi khác so với kiểu dữ liệu được sử dụng trong C hoặc C++.

Làm thế nào bạn có thể xác định loại của một biến?

Bạn có thể nghĩ về các biến độc lập và phụ thuộc dưới dạng nguyên nhân và kết quả. biến độc lập là biến mà bạn cho là nguyên nhân, còn biến phụ thuộc là kết quả . Trong một thử nghiệm, bạn điều khiển biến độc lập và đo lường kết quả trong biến phụ thuộc.

Chủ Đề