【发布时间】:2021-01-08 13:30:11
【问题描述】:
user = get_user() # returns object of type User or False
if not user:
raise HTTPException()
print(user.name) # pylint error: Instance of 'bool' has no 'name' member
目标:去掉最后一行的pylint错误。
我尝试为 get_user() 使用 Union[bool, User] 返回类型,但这并没有解决问题。
将类型从 bool 转换为 User 的 Pythonic 方式是什么?
【问题讨论】:
-
请注意,答案不应出现在问题中 - 您可以在下面发布答案或删除问题。但是是的,我会说
None是缺少用户的pythonic 返回值;Union[bool, User]的缺点是if not user只排除False,而不是True。