Hướng dẫn python isinstance error - python isinstance lỗi

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). 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).

Nội dung chính ShowShow

  • Cú pháp hàm isinstance() trong Python
  • Các tham số của hàm isinstance()
  • Giá trị trả về từ isinstance()
  • Ví dụ: Hàm isinstance() hoạt động thế nào?
  • Cú pháp hàm isinstance() trong Python
  • Các tham số của hàm isinstance()
  • Giá trị trả về từ isinstance()
  • Ví dụ: Hàm isinstance() hoạt động thế nào?
  • Giới thiệu
  • Python isinstance () cơ bản
  • Ví dụ về Python isinstance ()
  • 1. Sử dụng isInstance () với các lớp bản địa trong Python
  • 2. Sử dụng isInstance () với các lớp do người dùng xác định
  • 3. Sử dụng isInstance () cho nhiều lớp
  • Sự kết luận
  • Người giới thiệu

Cú pháp hàm isinstance() trong Python

isinstance(object, classinfo)

Các tham số của hàm isinstance()

Giá trị trả về từ isinstance()

  • Ví dụ: Hàm isinstance() hoạt động thế nào?
  • Giới thiệu

Giá trị trả về từ isinstance()

Ví dụ: Hàm isinstance() hoạt động thế nào?

  • Giới thiệu
  • Python isinstance () cơ bản

Ví dụ về Python isinstance ()

Ví dụ: Hàm isinstance() hoạt động thế nào?

class Foo:
  a = 5
  
fooInstance = Foo()

print(isinstance(fooInstance, Foo))
print(isinstance(fooInstance, (list, tuple)))
print(isinstance(fooInstance, (list, tuple, Foo)))

Giới thiệu

True
False
True

Python isinstance () cơ bả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). 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

isinstance(object, classinfo)

Các tham số của hàm isinstance()

Giá trị trả về từ isinstance()

    Giá trị trả về từ isinstance()

    Ví dụ: Hàm isinstance() hoạt động thế nào?

    • Giới thiệu
    • Python isinstance () cơ bản

    Ví dụ về Python isinstance ()

    Ví dụ: Hàm isinstance() hoạt động thế nào?

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

    Giới thiệu

    True   False   True

    Python isinstance () cơ bản

    Ví dụ về Python isinstance ()

    Nội dung chính ShowShow

    • Giới thiệu
    • Python isinstance () cơ bản
    • Ví dụ về Python isinstance ()
    • 1. Sử dụng isInstance () với các lớp bản địa trong Python
    • 2. Sử dụng isInstance () với các lớp do người dùng xác định
    • 3. Sử dụng isInstance () cho nhiều lớp
    • Sự kết luận
    • Người giới thiệu
    import types
    
    
    class C(object):
        pass
    
    
    c = C()
    print(isinstance(c, types.InstanceType))
    

    Output:

    False
    

    Hàm isinstance() có 2 tham số:

    UPD:

    True   False   True
    2: đối tượng cần kiểm tra

    True   False   True
    3: class, type, hoặc tuple
    The type of instances of user-defined classes.

    UPD2:

    Hàm isinstance() trả về:

    UPD3:

    True   False   True
    4 nếu đối tượng là một instance hoặc một lớp con subclass của lớp hoặc bất kỳ phần tử nào của bộ dữ liệu.

    True   False   True
    5 nếu ngược lại.

    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.Jan 30, 2013 at 20:16

    Chạy chương trình, kết quả trả về là:Gill Bates

    Xem thêm: Các hàm Python tích hợp sẵn22 gold badges65 silver badges137 bronze badges

    4

    Code:

    3. Sử dụng isInstance () cho nhiều lớp

    Sự kết luận

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

    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?Feb 1, 2013 at 20:40

    6

    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:

    loại.InstanCetype Loại thể hiện của các lớp do người dùng xác định. The type of instances of user-defined classes.

    Được rồi - không phải cách "chính xác" cũng ổn.

    Cũng nhận thấy rằng không có loại cho Jan 30, 2013 at 20:20

    False
    
    1 trong mô -đun
    False
    
    2Antimony

    Đã hỏi ngày 30 tháng 1 năm 2013 lúc 20:16Jan 30, 2013 at 20:1610 gold badges100 silver badges103 bronze badges

    12

    Gill Batesgill BatesGill Bates

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

    11.9K22 Huy hiệu vàng65 Huy hiệu bạc137 Huy hiệu Đồng22 gold badges65 silver badges137 bronze badges

    Bạn có thể kết hợp kiểm tra Feb 2, 2013 at 16:23

    False
    
    3 với sự hiện diện (hoặc không) của
    False
    
    4 hoặc
    False
    
    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.noɥʇʎԀʎzɐɹƆ

    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/18321542 gold badges46 silver badges65 bronze badges

    3

    Đã trả lời ngày 1 tháng 2 năm 2013 lúc 20:40Feb 1, 2013 at 20:40

    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, Jan 30, 2013 at 21:03

    Chạy chương trình, kết quả trả về là:Gill Bates

    11.9K22 Huy hiệu vàng65 Huy hiệu bạc137 Huy hiệu Đồng22 gold badges65 silver badges137 bronze badges22 gold badges65 silver badges137 bronze badges

    Giới thiệu

    Trong 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à

    False
    
    9.inheritance. Python provides an in-built method do check the same, named
    False
    
    9.inheritance. Python provides an in-built method do check the same, named
    False
    
    9.

    Hãy để hiểu đúng để hiểu phương pháp này.

    Python isinstance () cơ bản

    Như tên cho thấy, phương pháp Python

    False
    
    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
    False
    
    9,instance of any particular class or not. Now, let us look at the syntax for using the
    False
    
    9 method,instance of any particular class or not. Now, let us look at the syntax for using the
    False
    
    9 method,

    Syntax,, ,

    True
    False
    True
    5

    Here,

    • class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      32 là đối tượng mà chúng ta cần kiểm tra xem đó có phải là một thể hiện của một số lớp hay không,
    • class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      33 là lớp mà chúng ta cần kiểm tra đối tượng thuộc về hay không,
    • Phương thức
      False
      
      9 trả về true nếu object_name là một thể hiện của class_name nếu không trả về false.true if the object_name is an instance of the class class_name or else returns false.true if the object_name is an instance of the class class_name or else returns false.

    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

    False
    
    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 Python

    Bâ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

    False
    
    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.
    isinstance(object, classinfo)
    1int, float, str, list, dict, and tuple.
    isinstance(object, classinfo)
    1

    Output:::

    Python isinstance () cho các lớp bản địa

    Hãy để hiểu những gì mà xảy ra ở đây:

    • Lúc đầu, chúng tôi đã khởi tạo các biến của các loại khác nhau với một số giá trị
    • Sau đó, chúng tôi kiểm tra xem chúng có phải là trường hợp của các lớp tương ứng hay không. Và như mong đợi cho tất cả các kiểm tra, chúng tôi nhận được đầu ra tích cực, đó là, đúng.true.true.

    2. Sử dụng isInstance () với các lớp do người dùng xác định

    Bâ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.

    isinstance(object, classinfo)
    2

    Output:::

    Ví dụ với các lớp do người dùng xác định

    Trong mã này:

    • Chúng tôi tạo hai lớp
      class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      37 và
      class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      38Symbolizing ngày và thời gian tương ứng
    • Sau đó, chúng tôi tạo hai đối tượng của cả hai lớp có tên A và B tương ứnga and b respectivelya and b respectively
    • Sau đó, chúng tôi kiểm tra xem các đối tượng A và B có phải là trường hợp của các lớp
      class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      37 và
      class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      40 hay không. Sử dụng các kết hợp khác nhau, chúng tôi cố gắng giải thích những gì xảy ra nếu đối tượng không phải là một thể hiện của lớp được chỉ địnha and b are instances of the
      class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      37 and
      class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      4 0 classes. Using different combinations we try to explain what happens if the object is not an instance of the specified classa and b are instances of the
      class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      37 and
      class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      4 0 classes. Using different combinations we try to explain what happens if the object is not an instance of the specified class
    • Như chúng ta có thể thấy, mã của chúng tôi xác nhận rằng A và B là các trường hợp của các lớp DT và TM tương ứng.dt and tm respectively.dt and tm respectively.
    • Nhưng phương pháp
      class Foo:
        a = 5
        
      fooInstance = Foo()
      
      print(isinstance(fooInstance, Foo))
      print(isinstance(fooInstance, (list, tuple)))
      print(isinstance(fooInstance, (list, tuple, Foo)))
      41 trả về sai khi chúng tôi cố gắng kiểm tra xem A và B có phải là trường hợp của các lớp TM và DT tương ứng hay không. Đó là, đối diện.false when we try to check whether a and b are instances of tm and dt classes respectively. That is, opposite.false when we try to check whether a and b are instances of tm and dt classes respectively. That is, opposite.

    3. Sử dụng isInstance () cho nhiều lớp

    Phương pháp Python

    False
    
    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ề

    class Foo:
      a = 5
      
    fooInstance = Foo()
    
    print(isinstance(fooInstance, Foo))
    print(isinstance(fooInstance, (list, tuple)))
    print(isinstance(fooInstance, (list, tuple, Foo)))
    43 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ề
    class Foo:
      a = 5
      
    fooInstance = Foo()
    
    print(isinstance(fooInstance, Foo))
    print(isinstance(fooInstance, (list, tuple)))
    print(isinstance(fooInstance, (list, tuple, Foo)))
    44.tuple of the required classes. The method will return
    class Foo:
      a = 5
      
    fooInstance = Foo()
    
    print(isinstance(fooInstance, Foo))
    print(isinstance(fooInstance, (list, tuple)))
    print(isinstance(fooInstance, (list, tuple, Foo)))
    43 if the object is an instance of any class, or else returns
    class Foo:
      a = 5
      
    fooInstance = Foo()
    
    print(isinstance(fooInstance, Foo))
    print(isinstance(fooInstance, (list, tuple)))
    print(isinstance(fooInstance, (list, tuple, Foo)))
    44.
    class Foo:     a = 5        fooInstance = Foo()      print(isinstance(fooInstance, Foo))   print(isinstance(fooInstance, (list, tuple)))   print(isinstance(fooInstance, (list, tuple, Foo)))
    5tuple of the required classes. The method will return
    class Foo:
      a = 5
      
    fooInstance = Foo()
    
    print(isinstance(fooInstance, Foo))
    print(isinstance(fooInstance, (list, tuple)))
    print(isinstance(fooInstance, (list, tuple, Foo)))
    43 if the object is an instance of any class, or else returns
    class Foo:
      a = 5
      
    fooInstance = Foo()
    
    print(isinstance(fooInstance, Foo))
    print(isinstance(fooInstance, (list, tuple)))
    print(isinstance(fooInstance, (list, tuple, Foo)))
    44.
    class Foo:     a = 5        fooInstance = Foo()      print(isinstance(fooInstance, Foo))   print(isinstance(fooInstance, (list, tuple)))   print(isinstance(fooInstance, (list, tuple, Foo)))
    5

    Output:::

    False
    
    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

    False
    
    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
    False
    
    9 method.dt and tm as we used in our previous example. But in this case, we pass a tuple of the two classes to the
    False
    
    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

    class Foo:
      a = 5
      
    fooInstance = Foo()
    
    print(isinstance(fooInstance, Foo))
    print(isinstance(fooInstance, (list, tuple)))
    print(isinstance(fooInstance, (list, tuple, Foo)))
    43 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
    class Foo:
      a = 5
      
    fooInstance = Foo()
    
    print(isinstance(fooInstance, Foo))
    print(isinstance(fooInstance, (list, tuple)))
    print(isinstance(fooInstance, (list, tuple, Foo)))
    43 in both the outputs.a and b are instances of any one of the classes in the tuple we passed, we get to see
    class Foo:
      a = 5
      
    fooInstance = Foo()
    
    print(isinstance(fooInstance, Foo))
    print(isinstance(fooInstance, (list, tuple)))
    print(isinstance(fooInstance, (list, tuple, Foo)))
    43 in both the outputs.

    Sự kết luận

    Vì 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

    False
    
    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

    • https://www.journaldev.com/22932/python-isinstance