Python 中的 isinstance() 函式
Python 中的 isinstance() 函式可以用來檢查一個物件是否為某個類別的實例,或是否為一個超類別的實例。它的語法如下:
isinstance(object, classinfo)
其中,object 是要檢查的物件,classinfo 則是要檢查的類別或超類別。如果 object 是 classinfo 的實例,或是 classinfo 的超類別的實例,則 isinstance() 函式會傳回 True,否則傳回 False。
舉個例子來說,假設我們有一個類別叫做 Animal,它有一個子類別叫做 Dog,那麼我們可以用 isinstance() 函式來檢查一個物件是否為 Animal 或 Dog 的實例:
class Animal: pass class Dog(Animal): pass dog = Dog() print(isinstance(dog, Animal)) # True print(isinstance(dog, Dog)) # True
可以看到,dog 是 Animal 的實例,也是 Dog 的實例,所以 isinstance() 函式傳回 True。
另外,isinstance() 函式也可以接受多個類別作為參數,例如:
print(isinstance(dog, (Animal, Dog))) # True
這個例子中,isinstance() 函式會檢查 dog 是否為 Animal 或 Dog 的實例,由於 dog 是 Dog 的實例,所以 isinstance() 函式會傳回 True。
總結來說,Python 中的 isinstance() 函式可以用來檢查一個物件是否為某個類別的實例,或是否為一個超類別的實例,它可以接受多個類別作為參數,只要物件是其中任何一個類別的實例,isinstance() 函式就會傳回 True。