检查变量的数据类型,否则引发错误
Checking for datatype of variable, else raise error
我有这段代码可以创建一个函数来插入 python 中的元组:
def insert_t(t, i, v):
l = list(t)
l.insert(i, v)
tu = tuple(l)
return tu
代码有效,但有一个问题。将 t 传递给任何序列类型变量都可以。但我希望 t 只是一个元组,而不是列表或字符串。请参阅下文了解我的意思:
x = 'Hello'
insert_t(x, 2, 4)
代码适用于 x 是字符串的情况,但是,这破坏了代码仅附加到元组的目的。如果参数 t 不是元组,我希望它引发 TypeError
。
上网查了一下,发现有try...except
存在,可以报出需要的错误。但是,我不知道如何实现它,因为如您所见,我以前从未使用过 try...except
。我该如何实施?
在最基本的情况下,您要求:
if not isinstance(t, tuple):
raise TypeError
当您收到 TypeError 时,您希望发生什么?
回答下面提出的问题。在代码的其他地方,您将编写:
try:
...
code that might generate a TypeError, possibly right here
or possibly in some function that is called.
...
except TypeError:
print(...)
您的 try/except
应该是您可以实际处理错误并明智地继续的地方。
我有这段代码可以创建一个函数来插入 python 中的元组:
def insert_t(t, i, v):
l = list(t)
l.insert(i, v)
tu = tuple(l)
return tu
代码有效,但有一个问题。将 t 传递给任何序列类型变量都可以。但我希望 t 只是一个元组,而不是列表或字符串。请参阅下文了解我的意思:
x = 'Hello'
insert_t(x, 2, 4)
代码适用于 x 是字符串的情况,但是,这破坏了代码仅附加到元组的目的。如果参数 t 不是元组,我希望它引发 TypeError
。
上网查了一下,发现有try...except
存在,可以报出需要的错误。但是,我不知道如何实现它,因为如您所见,我以前从未使用过 try...except
。我该如何实施?
在最基本的情况下,您要求:
if not isinstance(t, tuple):
raise TypeError
当您收到 TypeError 时,您希望发生什么?
回答下面提出的问题。在代码的其他地方,您将编写:
try:
...
code that might generate a TypeError, possibly right here
or possibly in some function that is called.
...
except TypeError:
print(...)
您的 try/except
应该是您可以实际处理错误并明智地继续的地方。