如何在 python 中实例化一个 Optional?

How to instantiate an Optional in python?

我正在尝试定义一个函数,如果条件匹配,它应该 return Optional[Foo] - 但如果不匹配,则应该 None

但是,我不知道如何实例化一个可选的:

def find_user(self, id: str) -> Optional[User]:
    try:
        user = User.foo.find(id = id)
        return Optional(user])

    except:
        return None

然而,这似乎与我 IDE 中的预期类型不匹配。有什么想法吗?

Optional 不是您可以实例化的类型。 Union[User, None] 只是 shorthand。所以你只需 return user.

它不是独立类型,就像您可能从 Haskell、Swift、Rust、Kotlin 或 Java 等中了解到的那样。所以您不能调用 map ,或者以不同于常规 UserNone.

的方式对待它