是否有一种Python方式可以在一行代码中获取属性,如果对象存在?当前在下面的代码中,如果有人传递一个None类型的对象,则代码将会中断,因此我需要一些干净的方法来检查它不是None,但在一行代码中。C#有?.
语法非常好用,所以正在寻找类似的东西。
class MyClass:
def __init__():
self.my_property = "Hello, World!"
def print_class_property(myClassInstance):
print(myClassInstance???.my_property) # Here is where I need something inline
getattr
。 - Christian Deanprint_class_property
,那是他们的错误,而不是你的错误。话虽如此,Python没有空值合并运算符或类似的东西。 - user2357112getattr
有一个default
参数。通常在Python中,您可能只需使用try: ... except AttributeError
。这被认为是Pythonic的。 - juanpa.arrivillagab = a.attr if a is not None else 'some default value'
? - khachik