[英]Object not accessible inside a function in Python
我是 python 的初学者,我正面临一个问题。
下面是我的代码:
class LocalQueryDictionary(dict):
def __init__(self):
self = dict()
def addvalue(self, key, value):
self[key] = value
#Global definition of the object, "local_query_dict"
local_query_dict = LocalQueryDictionary()
def save_local_query(query_name_input, query_val_input):
local_query_dict.addvalue(str(query_name_input.get()), str(query_val_input.get()))
localQuery_listbox.insert(END, str(query_name_input.get()))
我收到“AttributeError:'dict' 对象没有属性'addvalue'”。
请帮助我。 提前致谢!!
如果您出于某种原因对 dict 进行子类化,只需初始化它。
对于添加值,您可以尝试__setitem__
class LocalQueryDictionary(dict):
def __init__(self):
super().__init__()
def addvalue(self, key, value):
self.__setitem__(key, value)
然后
a = LocalQueryDictionary()
a.addvalue('product', 'Lorem')
a.addvalue('state', 'NY')
print(a)
#=> {'product': 'Lorem', 'state': 'NY'}
常规名称“self”是对类的引用。
如果我正确理解您的意图,那么您可能想要的是:-
class LocalQueryDictionary(dict):
def __init__(self):
pass
def addvalue(self, key, value):
self[key] = value
lqd = LocalQueryDictionary()
lqd.addvalue('k', 'v')
print(lqd)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.