如何从python类向调用类返回多个值
被调用的python类返回的参数在调用类中不可访问。被调用的类从文件中检索值并将其返回给调用类如何从python类向调用类返回多个值,python,class,return,Python,Class,Return,被调用的python类返回的参数在调用类中不可访问。被调用的类从文件中检索值并将其返回给调用类 Class Main(): def __init__(self, root, *args, *kwargs) self.root = root self.kwargs = {} def return_data(self): """ :return: """ self.kwargs = {
Class Main():
def __init__(self, root, *args, *kwargs)
self.root = root
self.kwargs = {}
def return_data(self):
"""
:return:
"""
self.kwargs = {
'text': self.text,
'codes': self.codes,
'darwin': self.darwin,
'windows': self.windows,
'linux': self.linux,
'raster_warning_level': self.raster_warning_level,
'padx': self.padx,
'pady': self.pady,
'win_background': self.win_background,
'screen_width': self.screen_width,
'screen_height': self.screen_height,
'char_width': self.char_width,
'progbar_maximum': self.progbar_maximum,
'window_app_name': self.window_app_name,
'default_font': self.default_font,
'next_step': self.next_step
}
return self.kwargs
被调用类(XPGWGetParms)创建一个字典以返回到调用类
Class Main():
def __init__(self, root, *args, *kwargs)
self.root = root
self.kwargs = {}
def return_data(self):
"""
:return:
"""
self.kwargs = {
'text': self.text,
'codes': self.codes,
'darwin': self.darwin,
'windows': self.windows,
'linux': self.linux,
'raster_warning_level': self.raster_warning_level,
'padx': self.padx,
'pady': self.pady,
'win_background': self.win_background,
'screen_width': self.screen_width,
'screen_height': self.screen_height,
'char_width': self.char_width,
'progbar_maximum': self.progbar_maximum,
'window_app_name': self.window_app_name,
'default_font': self.default_font,
'next_step': self.next_step
}
return self.kwargs
主叫班
class Main(tk.Frame)
def __init__(self, root, *args, **kwargs)
tk.Frame.__init__(self, root, *args, **kwargs)
self.kwargs = {}
self.text = {}
self.codes = {}
# Get text strings and parms
self.kwargs = XPGWGetParms.Main(self, root, *args, **kwargs)
self.text = self.kwargs['text']
self.codes = self.kwargs['codes']
我希望调用类中的self.text由分配给键“text”的值填充,即self.text。相反,根据调试器,我得到一个嵌套的kwargs值,即
self={Main}.!main
kwargs=Main<XPGWGetParms.Main...
kwargs={dict}<class'dict>...
'text'={dict}<class'dict>...
'APPNAME'={str}'Application Name'
self={Main}。!主要的
kwargs=主。。。
'APPNAME'={str}'应用程序名称'
我不知道我做错了什么,这可能很简单,但我无法解决。所以我没有通过getitem路线取得任何进展,所以我做了一些进一步的研究,这对我来说很有效
self.instance_of_XPGWGetParms = XPGWGetParms.Main(self, root, *args, **kwargs)
self.kwargs = self.instance_of_XPGWGetParms.return_data()
我也不太明白,但我正在努力
非常感谢不,您发布的代码将给出一个类型错误,因为
self.kwargs
是XPGWGetParms.Main
的一个实例,并且该类没有定义\uuu getitem\uuuuuu
。