python - 了解类函数中的继承(python)
问题描述
我无法理解为什么当类函数中的局部变量被更新时,调用函数中的相同变量也会发生变化。
在这个简单的示例中,当class_func
被调用时,它将从父func
级获取变量 my_var,并且在每个实例中 my_var 将返回到[]
.
但是在第一次c.class_func
被调用后,my_var
在函数func
中发生了变化。我不明白为什么会这样?
欣赏任何见解。
class my_class :
def class_func(self, my_var):
if my_var == [] :
my_var += [1]
def func (classes, my_var) :
for c in classes :
print(my_var)
c.class_func(my_var)
print(my_var)
class1 = my_class()
class2 = my_class()
func(classes=[class1, class2], my_var=[])
输出:
[]
[1]
[1]
[1]
解决方案
推荐阅读
- javascript - 如何过滤数组中的多个对象?
- reactjs - 如何动态创建对象
- signalr - 我可以设置 2 个 SignalR 连接吗?
- memory - Jupyter 实验室内存问题“错误代码:SBOX_FATAL_MEMORY_EXCEEDED”
- c# - 打印发票,显示新添加的数据从数据库到具有唯一发票编号的水晶报表
- angular - 用另一个角度水疗中心替换一个角度水疗中心
- python - 返回以 *.tif 结尾但不以 *_mask.tif 结尾的文件名
- javascript - 如何通过javascript将数组切换为具有指定键的对象
- c# - 无法使用 Prism.Mvvm.ViewModelLocationProvider 手动将 View 注册到 ViewModel
- xpath - 如何在 WSO2 EI 6.1.1 中从soap Payload 中检索元素