Hướng dẫn isinstance python là gì
Hàm isinstance() tích hợp sẵn trong Python kiểm tra xem môt đối tượng (tham số thứ nhất) là một instance hay là một lớp con của Classinfo (tham số thứ hai). Show
Cú pháp hàm isinstance() trong Python
Các tham số của hàm isinstance()Hàm isinstance() có 2 tham số:
Giá trị trả về từ isinstance()Hàm isinstance() trả về:
Ví dụ, nếu tham số classinfo là một tuple, hàm này sẽ trả về True nếu đối tượng là một kiểu trong tuple. Ví dụ: Hàm isinstance() hoạt động thế nào?
Chạy chương trình, kết quả trả về là:
Xem thêm: Các hàm Python tích hợp sẵn Hàm isinstance() tích hợp sẵn trong Python kiểm tra xem môt đối tượng (tham số thứ nhất) là một instance hay là một lớp con của Classinfo (tham số thứ hai). Cú pháp hàm isinstance() trong Python
Các tham số của hàm isinstance()Hàm isinstance() có 2 tham số: Giá trị trả về từ isinstance()Hàm isinstance() trả về:
Ví dụ, nếu tham số classinfo là một tuple, hàm này sẽ trả về True nếu đối tượng là một kiểu trong tuple. Ví dụ: Hàm isinstance() hoạt động thế nào?
Chạy chương trình, kết quả trả về là:
Xem thêm: Các hàm Python tích hợp sẵn Code: Nội dung chính Show
Output:
Cách chính xác để kiểm tra xem đối tượng có phải là thể hiện của lớp do người dùng xác định cho các lớp kiểu mới không? UPD:Tôi muốn nhấn mạnh thêm vào việc kiểm tra xem loại đối tượng có được xác định bởi người dùng không. Theo tài liệu:
UPD2:Được rồi - không phải cách "chính xác" cũng ổn. UPD3:Cũng nhận thấy rằng không có loại cho 1 trong mô
-đun 2Đã hỏi ngày 30 tháng 1 năm 2013 lúc 20:16Jan 30, 2013 at 20:16 Gill Batesgill BatesGill Bates 11.9K22 Huy hiệu vàng65 Huy hiệu bạc137 Huy hiệu Đồng22 gold badges65 silver badges137 bronze badges 4 Bạn có thể kết hợp kiểm tra 3 với sự hiện diện (hoặc không) của 4 hoặc 5, như một cách hacky để phân biệt giữa cả lớp mới/kiểu cũ và đối tượng người dùng/xây dựng.Trên thực tế, các đề xuất chính xác này xuất hiện trong https://stackoverflow.com/a/2654806/1832154
Đã trả lời ngày 1 tháng 2 năm 2013 lúc 20:40Feb 1, 2013 at 20:40 6 Tôi không chắc chắn về cách "chính xác", nhưng một cách dễ dàng để kiểm tra đó là các trường hợp của các lớp kiểu cũ có kiểu 'thể hiện' thay vì lớp thực tế của chúng. Vì vậy, 6 hoặc 7 nên cả hai nên làm việc.
Đã trả lời ngày 30 tháng 1 năm 2013 lúc 20:20Jan 30, 2013 at 20:20 AntinonionantimonAntimony 36,5K10 Huy hiệu vàng100 Huy hiệu bạc103 Huy hiệu đồng10 gold badges100 silver badges103 bronze badges 12 Điều này cho chúng ta biết đúng nếu nó là.
Đối số thứ hai là một tuple của các lớp sẽ được kiểm tra. Điều này rất dễ hiểu và tôi chắc chắn rằng nó hoạt động. [Chỉnh sửa (đối tượng) đến (đối tượng,) Cảm ơn Duncan!] Đã trả lời ngày 2 tháng 2 năm 2013 lúc 16:23Feb 2, 2013 at 16:23 không ʎzɐɹɔnoɥʇʎzɐɹɔzɐɹɔnoɥʇʎԀʎzɐɹƆ 9.1892 Huy hiệu vàng46 Huy hiệu bạc65 Huy hiệu Đồng2 gold badges46 silver badges65 bronze badges 3 Có lẽ tôi có thể đi với phương thức loại bỏ - không kiểm tra xem đối tượng có phải là phiên bản của lớp do người dùng xác định không - 8, nhưng kiểm tra xem đối tượng không phải là một trong các loại 'cơ bản'.Đã trả lời ngày 30 tháng 1 năm 2013 lúc 21:03Jan 30, 2013 at 21:03 Gill Batesgill BatesGill Bates 11.9K22 Huy hiệu vàng65 Huy hiệu bạc137 Huy hiệu Đồng22 gold badges65 silver badges137 bronze badges Giới thiệuTrong hướng dẫn này, chúng tôi sẽ đi qua phương thức Python isinstance (). Người dùng có thể gặp phải một số tình huống mà cô ấy cần để xác định xem một đối tượng có phải là một thể hiện của một lớp cụ thể hay không, chủ yếu là thừa kế. Python cung cấp một phương pháp được xây dựng, hãy kiểm tra giống nhau, được đặt tên là 9.inheritance. Python provides an in-built method do check the same, named
9.Hãy để hiểu đúng để hiểu phương pháp này. Python isinstance () cơ bảnNhư tên cho thấy, phương pháp Python 9 là phương thức được xây dựng, kiểm tra xem một đối tượng có phải là một thể hiện của bất kỳ lớp cụ thể nào hay không. Bây giờ, chúng ta hãy nhìn vào cú pháp để sử dụng phương thức 9,instance of any particular class or not. Now, let us look at the syntax for using the 9 method,Syntax,, isinstance( object_name , class_name) Here,
Ví dụ về Python isinstance ()Vì vậy, vì bây giờ chúng tôi được thực hiện với định nghĩa cơ bản và cú pháp cho phương pháp Python 9. Chúng ta hãy xem xét một số ví dụ để hiểu rõ hơn về cách thức hoạt động của phương pháp.1. Sử dụng isInstance () với các lớp bản địa trong PythonBây giờ, chúng ta hãy xem những gì xảy ra khi chúng ta sử dụng phương thức 9 cho các lớp bản địa trong Python như Int, Float, Str,
Danh sách, Diễn ngôn và Tuple.int, float, str, list, dict, and tuple.i=10 f=55.55 s="AskPython" l=[1,2,3,4,5] d={0:"n", 1:"y"} t=(1,2,3,4) print("isinstance(i,int)=",isinstance(i,int)) print("isinstance(f,int)=",isinstance(f,float)) print("isinstance(s,int)=",isinstance(s,str)) print("isinstance(l,int)=",isinstance(l,list)) print("isinstance(d,int)=",isinstance(d,dict)) print("isinstance(t,int)=",isinstance(t,tuple)) Output:: Python isinstance () cho các lớp bản địaHãy để hiểu những gì mà xảy ra ở đây:
2. Sử dụng isInstance () với các lớp do người dùng xác địnhBây giờ chúng ta hãy tạo một số lớp và các trường hợp của chúng để kiểm tra xem chúng ta có nhận được đầu ra mong muốn cũng như cách phương thức isinstance hoạt động trong trường hợp đó hay không. class dt: dd=10 mm=2 yyyy=2002 class tm: hr=12 min=56 sec=34 #instance creation a=dt() b=tm() #check is a is instance of dt class print("a is instance of dt?",isinstance(a,dt)) #check is a is instance of tm class print("a is instance of tm?",isinstance(a,tm)) #check is b is instance of tm class print("b is instance of tm?",isinstance(b,tm)) #check is b is instance of dt class print("b is instance of dt?",isinstance(b,dt)) Output:: Ví dụ với các lớp do người dùng xác địnhTrong mã này:
3. Sử dụng isInstance () cho nhiều lớpPhương pháp Python 9 cũng cung cấp một biện pháp nếu chúng tôi muốn kiểm tra xem một đối tượng có phải là một thể hiện của bất kỳ lớp nào trong số một số lớp nhất định hay không.Trong trường hợp đó, chúng ta cần phải vượt qua một tuple của các lớp cần thiết. Phương thức sẽ trả về 3 nếu đối tượng là một thể hiện của bất kỳ lớp nào hoặc nếu không trả về 4.tuple of the required classes. The method will return 3 if the object is an instance of any class, or else returns 4.class dt: dd=10 mm=2 yyyy=2002 class tm: hr=12 min=56 sec=34 #instance creation a=dt() b=tm() #check is a is instance of dt or tm class print("a is instance of dt or tm?",isinstance(a,(dt,tm))) #check is b is instance of dt or tm class print("b is instance of dt or tm?",isinstance(b,(dt,tm))) Output:: 0Ở đây, chúng tôi sử dụng cùng một lớp DT và TM như chúng tôi đã sử dụng trong ví dụ trước của chúng tôi. Nhưng trong trường hợp này, chúng tôi chuyển một bộ của hai lớp cho phương pháp 9.dt and tm as we used in our previous example. But in this case, we pass a tuple of the two classes to the 9 method.Vì A và B là trường hợp của bất kỳ một trong các lớp trong bộ tuple mà chúng tôi đã vượt qua, chúng tôi có thể thấy 3 trong cả hai đầu ra.a and b are instances of any one of the classes in the tuple we passed, we get to see 3 in both the
outputs.Sự kết luậnVì vậy, trong hướng dẫn này, chúng tôi phải tìm hiểu về phương pháp Python 9 cùng với việc sử dụng và làm việc của nó. Hy vọng hướng dẫn này giúp tìm hiểu khái niệm về các trường hợp.Người giới thiệu
|