![]() |
1
5
在python中还可以实现更多的魔力(不是我推荐它,它需要您自己挖掘;-),但是使用闭包可能足以满足您的需求:
编辑,对于那些想要“更新支持”的人来说,这都是关于闭包的:
如果不超出通常(对于我:-)接受的python的界限,也可以编写此命令来返回具有forwarding/proxy属性的对象,想象一下:
一些有趣的链接: |
![]() |
2
1
不,你想要的是不可能的。python中的所有名称都是引用,但它们总是引用 物体 ,不是引用 变量 . 当“使用”时,不能有本地名称重新评估创建它的对象。 你什么 可以 have是一个充当代理的对象,它将对其执行的大多数操作委托给对其内部引用的任何操作。但是,这并不总是透明的,而且有些操作您不能代理。你要改变的东西常常也不方便 在期间 手术。总之,最好不要尝试这个。
相反,在你的特殊情况下,你会保持
|
![]() |
3
1
正如其他人指出的,为了做到这一点,您需要保持对周围父对象的引用。在不质疑你想要这样做的原因的情况下,以下是一个可能的解决方案:
顺便说一句,在您给出的示例中,该属性是只读的(没有setter),因此您无论如何都无法设置它。 如果这感觉像是一个不必要的代码量,那么它可能是——我几乎可以肯定您可以找到一个更好的解决方案来解决您的用例,不管它是什么。 |
![]() |
Kris · 有没有办法获得可变结构字段的“引用” 2 年前 |
![]() |
Jora Karyan · IF语句未按预期引发错误 2 年前 |
![]() |
nedzad · 如何访问引用Firebase中其他对象的对象 6 年前 |
![]() |
Empha · 从成员函数对对象所做的更改不会持续。范围/参考问题? 6 年前 |