python for循环递减,python for 数组
听说for循环中的变量会泄露到外面,还有地址引用的问题。
参考了几篇文章,我特意加了一行info={},每次创建一个新对象。
1.但是,结果保持不变,所有返回的集合都是相同的结果。
2.这个信息仍然是灰色的,提示是变量在创建后没有被引用过。这是一个他妈的笑话,不是吗?python是什么机制?
作为最后的手段,制作info的深层副本,然后追加?
下面是这个类的源代码。这个类的目的是根据B的结构,从某个A数据源构造一个B。
类别发布类别:
@静态方法
def getInfo(模型,数据):
信息=模型
对于k,v以var(型号)表示。项目():
如果是实例(数据,对象):
if hasattr(data,k):
setattr(info,k,getattr(data,k))
elif isinstance(data,dict):
如果k在数据中:
setattr(info,k,data[k])
退货信息
@classmethod
def getList(cls,obj,data,toDict=True):
数据列表=[]
对于数据中的d:
如果toDict:
info=cls.getInfo(obj,d)。__词典_ _
否则:
info=cls.getInfo(obj,d)
datalist . append(copy . deepcopy(info))#目前只能通过深度复制解决,但是性能感觉不是很好。
返回数据列表
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。