假设我们有一个对象a
,我们要修改的数据是这样的Python化的方式,以避免指针
a.substructure1.subsubstructure1.name_of_the_data1
这
a.substructure2.subsubstructure2.name_of_the_data2
结构要访问这个结构我们称之为一个外部方法get_the_data_shortcut(a)
,它被大量参数化(例如参数subsstructure
指定要返回哪个子结构)。这看起来非常冗余,但对于所有这些参数都有一个非常好的默认设置,这是合理的。此外,如果默认分支不可用,此函数将返回另一个数据分支。
如何修改get_the_data_shortcut(a)
?
b = get_the_data_shortcut(a)
b = b + 1
然后,get_the_data_shortcut(a)
不变,因为还有Python是不是Java。
我需要一个setter吗?大多数情况下,这不是我的代码,并且是由编写pythonic代码的人编写的,我试图跟上这些标准。
通常Python的办法是做类似'B = A .substructure1.subsubstructure1; b.name_of_the_data1 + = 1'。但是,也许你应该写一个[mcve],这样我们就可以有更多的实际讨论。 –