如果函數的第一個參數是第二個參數的實例或子類,則isinstance()
函數返回 true。實際上,我們可以說這個函數用於檢查給定的對象是給定類的實例還是子類。
**isinstance(object, classinfo) ** # Where object specify name of the object
接受 2 個參數,其中第一個參數是 string、int、float、long 或自定義類型的對象。
參數 | 描述 | 必需/可選 |
---|---|---|
目標 | 要檢查的對象。 | 需要 |
分類(classify) | 類名或類名元組。 | 需要 |
它返回真或假的布爾值。
| 投入 | 返回值 |
| 對象是一個實例 | 真實的 |
| 對象不是實例 | 錯誤的 |
| classinfo 不是類型或類型元組 | TypeError exception |
class Foo:
a = 5
fooInstance = Foo()
print(isinstance(fooInstance, Foo))
print(isinstance(fooInstance, (list, tuple)))
print(isinstance(fooInstance, (list, tuple, Foo)))
輸出:
True
False
True
numbers = [1, 2, 3]
result = isinstance(numbers, list)
print(numbers,'instance of list?', result)
result = isinstance(numbers, dict)
print(numbers,'instance of dict?', result)
result = isinstance(numbers, (dict, list))
print(numbers,'instance of dict or list?', result)
number = 5
result = isinstance(number, list)
print(number,'instance of list?', result)
result = isinstance(number, int)
print(number,'instance of int?', result)
輸出:
[1, 2, 3] instance of list? True
[1, 2, 3] instance of dict? False
[1, 2, 3] instance of dict or list? True
5 instance of list? False
5 instance of int? True
# Python `isinstance()` function example
class Student:
id = 101
name = "John"
def __init__(self, id, name):
self.id=id
self.name=name
student = Student(1010,"John")
lst = [12,34,5,6,767]
# Calling function
print(isinstance(student, Student)) # isinstance of Student class
print(isinstance(lst, Student))
輸出:
True
False
原創文章,作者:CHIOX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126712.html