是否有与VB.NET'With'语句等效的Python?

时间:2019-07-26 19:28:55

标签: python vb.net

我一直很喜欢VB.NET如何允许您使用带有长变量名的一系列语句,并使用“带”语句使它们更具可读性(您可以在“ The VB.NET 'With' Statement - embrace or avoid?”中查看示例)。确实可以使代码更具可读性。

那么在Python中是否有等效的关键字或构造可以做相同的事情?

2 个答案:

答案 0 :(得分:2)

否,但是您可以执行以下操作:

obj.__dict__.update({
    'a': 1,
    'b': 2,
    'c': 3,
})

但是,不建议直接使用__dict__

答案 1 :(得分:1)

长访问链是一种代码气味。如果发现要操纵通过访问器链获得的对象的多个属性,那么该为它编写方法的时候了。未经对象同意而获取和操纵对象的“私有部分”也是一种不好的风格。

您的问题最好用“设置包含的对象的多个属性的适当pythonic方法是什么?”的措辞更好。加上一个实际的示例,可以具体说明答案。