说明:
我读过很多关于在 python 中检查值类型的意见,大多数人说你不应该检查类型,而是使用 try 和 except。我想澄清几件事。
问题:
当我有这样的方法时:
def set_age(self, age):
self._age = age
我不能让用户传递除 int 以外的任何类型,因为稍后在代码中它可能会导致一些更难调试的错误。根据 Python 方法,我无法检查类型。那么我应该如何以正确的方式尝试呢?
def set_age(self, age):
try:
age = int(age)
except TypeError:
raise TypeError('First parameter must be of int type.')
self._age = age
要不就
def set_age(self, age):
self._age = int(age)
并让 Python 自行引发错误。
我知道这可能是愚蠢的问题,我只是想确定一下。