Isinstance trong Python là gì và làm thế nào để triển khai nó?



Bài viết này sẽ giới thiệu cho bạn một phương pháp Isinstance trong Python và cung cấp cho bạn một lời giải thích khái niệm kỹ lưỡng với phần trình diễn.

là một trong những ngôn ngữ lập trình mạnh mẽ nhất hiện nay trên thị trường. Python cũng hỗ trợ triển khai các ngôn ngữ lập trình khác trong hệ sinh thái của nó như Java, C cũng như C ++. Trong số rất nhiều mô-đun và chức năng có sẵn trong hệ sinh thái Python, một mô-đun nổi bật trong số các mô-đun còn lại là sự hỗ trợ trong Python. Vì vậy, trong bài viết này, chúng tôi sẽ nói chi tiết về isinstance, công dụng của nó và các tính năng mà nó mang lại.

Các gợi ý sau sẽ được đề cập trong bài viết này,





Hãy bắt đầu nào!

Isinstance trong Python là gì?

Phương thức hỗ trợ Python được sử dụng để kiểm tra xem đối tượng đầu tiên là đối số có phải là một thể hiện hay lớp con của lớp classinfo là đối số thứ hai hay không.



tranh cãi trí tuệ nhân tạo ưu và nhược điểm

Cú pháp cho isinstance trong Python như sau.

isinstance (đối tượng, classinfo)

Hãy để chúng tôi xem Isinstance trong Python có các tham số và giá trị trả về nào,



Tham số và Giá trị trả về của Isinstance

Tham số

Bây giờ bạn đã biết về cú pháp cho isinstance, chúng ta hãy xem xét kỹ hơn tham số mà nó tính đến.

  1. Đối tượng: Đây là đối tượng cần được kiểm tra.
  2. Classinfo: Đây là lớp, thông tin hoặc nhóm các lớp mà đối tượng cần được kiểm tra.

Giá trị trả lại

Khi isinstance được sử dụng trong một chương trình, giá trị trả về phụ thuộc vào một số điều kiện, như được giải thích trong con trỏ bên dưới.

  1. True được trả về nếu đối tượng là một lớp con của classinfo hoặc nhiều lớp.
  2. False được trả về nếu đối tượng không phải là lớp con của classinfo hoặc nhiều lớp.

Nếu trong một tình huống cụ thể, classinfo không phải là một kiểu hoặc nhiều kiểu, thì ngoại lệ lỗi gõ được hiển thị trên màn hình của người dùng.

Ví dụ

Để hiểu rõ hơn việc sử dụng isinstance, chúng ta hãy xem một vài ví dụ.

Ví dụ 1

class Foo: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))

Đầu ra

Thật

Sai

Thật

Isinstance trong Python: Ví dụ # 2

number = [1, 2, 3] result = isinstance (số, danh sách) print (số, 'phiên bản của danh sách?', kết quả) result = isinstance (số, dict) print (số, 'phiên bản của dict?', kết quả ) result = isinstance (number, (dict, list)) print (number, 'instance of dict hay list?', result) number = 5 result = isinstance (number, list) print (number, 'instance of list?', result) result = isinstance (number, int) print (number, 'instance of int?', result)

Đầu ra

[1, 2, 3] trường hợp của danh sách? Thật

[1, 2, 3] phiên bản của dict? Sai

[1, 2, 3] trường hợp của dict hoặc danh sách? Thật

5 trường hợp của danh sách? Sai

5 thể hiện của int? Thật

Ví dụ # 3

# Mã Python cho lớp isinstance () Test: a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (list, tuple))) print (isinstance (TestInstance, (list, tuple) , Kiểm tra)))

Đầu ra

cách chuyển đổi chuỗi thành ngày tháng

Thật

Sai

Thật

Hãy để chúng tôi tiếp tục với bài viết ‘Isinstance Trong Python’ và hiểu cách sử dụng phương thức Type,

Việc sử dụng Type trong Python

Tương tự như isinstance, có một phương thức tích hợp sẵn khác trong Python được sử dụng để kiểm tra biến kiểu pf đang được sử dụng trong thời gian chạy. Nếu một đối số hoặc một đối tượng được chuyển qua phương thức kiểu, nó sẽ trả về kiểu của đối tượng đang được sử dụng trong thời gian chạy.

Để hiểu rõ hơn điều này, hãy xem ví dụ dưới đây.

Isinstance trong Python: Ví dụ # 1.1

# Kiểu mã Python () với một tham số đối tượng duy nhất x = 5 s = 'sampleoutput' y = [1,2,3] print (type (x)) print (type (s)) print (type (y))

Đầu ra

lớp ‘int’

lớp ‘str’

'danh sách' lớp

Ví dụ # 1.2

# Mã Python cho kiểu () với tên, # cơ sở và tham số dict o1 = type ('X', (object,), dict (a = 'Foo', b = 12)) print (type (o1)) print (vars (o1)) class test: a = 'Foo' b = 12 o2 = type ('Y', (test,), dict (a = 'Foo', b = 12)) print (type (o2)) print (vars (o2))

Đầu ra

{‘B’: 12, ‘a’: ‘Foo’, ‘__dict__’:, ‘__doc__’: Không có, ‘__weakref__’:}

{‘B’: 12, ‘a’: ‘Foo’, ‘__doc__’: Không có}

Hãy để chúng tôi so sánh Type và Isinstance trong Python,

Sự khác biệt giữa Type () và Isinstance

Type và isinstance trong Python phục vụ hai chức năng rất khác nhau. Hãy xem các điểm dưới đây để hiểu rõ hơn sự khác biệt giữa chúng.

  1. Nếu bạn cần kiểm tra xem một đối tượng có một loại nào đó hay không thì cách tốt nhất là sử dụng isinstance. Điều này là do isinstance sẽ có thể kiểm tra xem đối tượng được truyền trong đối số đầu tiên có cùng kiểu với đối tượng được truyền trong đối số thứ hai hay không.
  2. Mặt khác, việc sử dụng kiểu được ưu tiên hơn khi bạn chỉ cần kiểm tra kiểu của một đối tượng cụ thể và không so sánh nó với đối tượng khác.

Thí dụ

Mã #Python để minh họa lớp gõ vịt Người dùng (đối tượng): def __init __ (self, firstname): self.firstname = firstname @property def name (self): return self.firstname class Animal (object): pass class Fox (Animal) : name = 'Fox' class Bear (Animal): name = 'Bear' # Sử dụng thuộc tính .name (hoặc thuộc tính) bất kể loại nào cho một trong [User ('SampleOutput'), Fox (), Bear ()] : print (a.name)

Đầu ra

SampleOutput

cáo

Chịu

cách sắp xếp một mảng theo thứ tự tăng dần c ++

Một lý do khác để không sử dụng phương thức kiểu là thiếu tính kế thừa. Hãy xem những ví dụ được chia sẻ dưới đây để hiểu rõ hơn điều này.

#python mã để minh họa việc thiếu # hỗ trợ kế thừa trong loại () lớp MyDict (dict): '' 'Một dict bình thường, luôn được tạo bằng' khóa 'ban đầu' '' def __init __ (self): self [ 'ban đầu'] = 'một số dữ liệu' d = MyDict () print (type (d) == dict) print (type (d) == MyDict) d = dict () print (type (d) == dict) print (type (d) == MyDict)

Đầu ra

Sai

Thật

Thật

Sai

Vì vậy, điều này các bạn, điều này sẽ đưa chúng ta đến phần cuối của bài viết này. Tôi hy vọng bạn đã hiểu Isinstance trong Python và những gì nó làm.

Để có được kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể để được đào tạo trực tuyến trực tiếp với hỗ trợ 24/7 và quyền truy cập trọn đời.

Có một câu hỏi cho chúng tôi? Đề cập đến họ trong phần bình luận của bài viết này và chúng tôi sẽ liên hệ lại với bạn.