分配和访问可空对象的最具Python风格的方法

分配和访问可空对象的最具Python风格的方法,python,python-3.x,syntax,Python,Python 3.x,Syntax,我当时正在为一个项目编码,在某个时刻我完成了以下代码: my_var = function(param) my_var = my_var[key] if my_var else None 这段代码正在运行,但我正在寻找一种更好的方法,如果可能的话,只需一行代码 你知道吗 在C#中,它们被称为“安全导航操作员”,我想你可以有这样的东西: my_var = function(param)?.[key] 谢谢你的回答 截至2018年10月,Python的最新版本不支持optionals 有关更多详

我当时正在为一个项目编码,在某个时刻我完成了以下代码:

my_var = function(param)
my_var = my_var[key] if my_var else None
这段代码正在运行,但我正在寻找一种更好的方法,如果可能的话,只需一行代码

你知道吗

在C#中,它们被称为“安全导航操作员”,我想你可以有这样的东西:

my_var = function(param)?.[key]

谢谢你的回答

截至2018年10月,Python的最新版本不支持optionals


有关更多详细信息,请参阅。

截至2018年10月,Python的最新版本不支持optionals


有关更多详细信息,请参阅。

如果函数始终返回字典,则可以执行以下操作:

my_var = function(param).get(key, None)

如果函数始终返回字典,则可以执行以下操作:

my_var = function(param).get(key, None)

你能分享
函数的代码吗
?请分享最小可行代码。它是一个可空对象,所以函数可以返回像{'key':{'second_key':1},…}这样的对象,或者直接不可以。你能分享
函数的代码吗
?请分享最小可行代码。它是一个可空对象,所以函数可以返回像{'key'这样的对象:{'second_key':1},…}或直接无意识运算符计划用于python 3.8?根据PEP569,2019年初如此?谢谢!因此无意识运算符计划用于python 3.8?根据PEP569,2019年初如此?谢谢!