在Python中,isinstance()
函數用于檢查一個對象是否是一個已知的類型(class type)或者該類型的子類。如果是,則返回True,否則返回False。這個函數通常用于類型檢查和異常處理。
當使用isinstance()
函數進行類型檢查時,如果傳入的參數不是預期的類型,可能會引發異常。為了避免這種情況,可以使用try-except
語句來捕獲異常并進行相應的處理。
下面是一個簡單的例子,展示了如何使用isinstance()
函數進行異常處理:
def process_data(data):
try:
if isinstance(data, list):
# 對列表類型的數據進行處理
print("Processing a list:", data)
elif isinstance(data, dict):
# 對字典類型的數據進行處理
print("Processing a dictionary:", data)
else:
raise TypeError("Unsupported data type")
except TypeError as e:
print("Error:", e)
# 測試數據
data1 = [1, 2, 3]
data2 = {"key": "value"}
data3 = "unsupported data type"
# 處理數據
process_data(data1)
process_data(data2)
process_data(data3)
在這個例子中,我們定義了一個名為process_data
的函數,該函數接受一個參數data
。我們使用isinstance()
函數檢查data
的類型,并根據類型進行相應的處理。如果data
的類型不是預期的類型(即不是列表或字典),我們拋出一個TypeError
異常。然后,我們使用try-except
語句捕獲異常并打印錯誤信息。