在我的数据中,我在两个不同的部分得到两本词典。我创建了一个Class对象,将字典组合成一个对象。
在此示例中,driver.find_element_by_css_selector("a[data-planId='31']")
和x
属性分别是分配给y
和D_A_x
的类字典。
如何将属性添加到已创建的类实例中?
D_A_y
我无法同时访问class Class_Example:
def __init__(self,x="NaN",y="NaN"):
self.x = x; self.y = y
def get_x(self,var): return(self.x[var])
def get_y(self,var): return(self.y[var])
D_A = {}
D_A_x = {"a":1}
D_A["instance_1"] = Class_Example(x = D_A_x)
#D_A["instance_1"].get_x("a")
D_A_y = {"b":2}
D_A["instance_1"].__init__(y = D_A_y)
print D_A["instance_1"].get_x("a") #Doesn't work because it has been replaced.
和D_A_x
同时创建课程。
我检查了这一点,但在我的情况下它没有帮助:Adding base class to existing object in python
答案 0 :(得分:1)
为什么不这样做:D_A['instance_1'].y = D_A_y
?
答案 1 :(得分:1)
是的,正如您已经注意到的那样,当您为__init__()
课程致电Class_Example
时,它会使用传入的值覆盖x
和y
值,在第二次,由于您没有为x
发送任何内容,因此它使用默认的"NaN"
字符串。
您不应再次致电__init__()
,只需设置y
属性即可。示例 -
D_A["instance_1"].y = D_A_y