是否有用于验证函数输入的内置 Python 异常?

Is there a built-in Python Exception for validation of function input?

我有一个函数需要一个元组作为参数之一

def func(x,
         t # t should be a tuple of a predefined type (str, bool, str)
         ):
    ...

是否有适合说明 t 类型不正确的内置错误,或者我应该定义自己的错误?

是的,TypeError exception 正是用于这种情况:

Raised when an operation or function is applied to an object of inappropriate type.

[...]

Passing arguments of the wrong type (e.g. passing a list when an int is expected) should result in a TypeError[.]

您可能需要研究使用 type hinting,以尽早发现程序员传递错误类型的错误。例如,我们在 linting 期间检查类型提示。

是的,这通常由 TypeError 表示。或者,如果参数类型正确但其值无效,请使用 ValueError.

不过,在许多情况下(尤其是 TypeError),您不必明确提出这些问题;当您尝试执行该类型不支持的操作时,它们自然会发生。

您可以使用 TypeError 异常。