例如,以一个代表一个人的简单类为例。唯一的类属性是表示人员姓名的字符串。我想确保没有人试图向构造函数传递一些其他类型的对象,例如 int 或 list...等。这是我在下面的第一次尝试,我认为如果参数不是 str,这将返回 None 类型的 obj,但它似乎仍然返回 Person obj。我来自一个“更多”的强类型语言背景,我对如何在 python 中处理我自己感到有点困惑。pythonic 风格对这种情况和更一般的类型安全有什么看法?我应该提出例外吗?还是想办法返回None?或者完全是别的东西。
class Person:
name = None
def __init__(self, name):
if not isinstance(name, str):
return None
self.name = name