在 Python 中,谁必须检查传递给函数或方法的参数类型是否正确:
确保传递的参数类型正确是程序员的责任。该函数不会在第一步中显式检查传递的参数,而只是简单地使用它,就好像它是可靠有效的类型一样。在工作过程中,函数可以独立生成,也可以显式生成各种异常,这将指示参数不正确。这个异常将在文档字符串中描述
该函数在第一阶段显式检查传递参数的类型,并在出现错误时抛出异常,例如 TypeError。
- 别的东西
?
例如,如果我们传递给一个函数(例如)不是一个可迭代的,而是一个整数或实数,那么就会产生一个 TypeError 异常(因为 int 和 float 是不可迭代的)。但是你可以在一开始就明确地检查,例如,传递的参数是一个可迭代的对象并生成一些东西。
def is_positive_or_zero_values(可迭代):
"""检查iterable中的所有元素是否都是大于或等于零的数字。
参数:
iterable:包含要测试的值的可迭代对象。
回报:
bool:如果可迭代对象中的所有元素都是等于或大于零的数字,则为真。
否则为假。
"""
如果可迭代:
如果是_numbers(可迭代):
返回所有(地图(lambda x:x> = 0,可迭代))
别的:
返回假
别的:
返回假
这个话题出现在Python in Nutshell和Fluent Python中。Pythonic 方式是根本不检查参数。引自词汇表:
出去: