如果想在代码中检查 dataset
是否是 list
类型,并在不是 list
类型时抛出异常,可以使用 raise
来提示问题。以下是一个实现示例:
python
def check_dataset(dataset):
if not isinstance(dataset, list):
raise TypeError(f"Dataset must be of type 'list', but got {type(dataset).__name__}.")
return True # 如果是 list 类型,则返回 True
# 测试用例
try:
dataset = [1, 2, 3] # 正确的类型
check_dataset(dataset)
print("Dataset is valid.")
except TypeError as e:
print(e)
try:
dataset = "not a list" # 错误的类型
check_dataset(dataset)
except TypeError as e:
print(e)
try:
dataset = (1, 2, 3) # 错误的类型(元组)
check_dataset(dataset)
except TypeError as e:
print(e)
输出
bash
Dataset is valid.
Dataset must be of type 'list', but got str.
Dataset must be of type 'list', but got tuple.
解释
-
isinstance(dataset, list)
:- 用于检查对象是否是
list
类型。如果不是,则抛出TypeError
。
- 用于检查对象是否是
-
raise TypeError
:- 抛出异常,提示数据类型不正确。
- 提供清晰的错误信息,例如:当前数据类型(
str
或tuple
)。
-
type(dataset).__name__
:- 获取变量的实际类型名称,便于用户理解问题所在。
这种方法可以有效避免错误的数据类型传递给后续的代码逻辑。