Python 我一直得到TypeError:Template()不接受任何参数

Python 我一直得到TypeError:Template()不接受任何参数,python,python-3.x,list,Python,Python 3.x,List,我正在尝试创建一个下拉菜单,它返回一个字符串,我可以将该字符串用于if语句。 我只想创建标签,这样我就可以直观地看到所选选项的价值,我希望有人能够提供帮助 为模板创建类 class Template: def _init_(self,version): self.version = version templateList.append(self) templateVersion.append(version) def selectVersion(): f

我正在尝试创建一个下拉菜单,它返回一个字符串,我可以将该字符串用于if语句。 我只想创建标签,这样我就可以直观地看到所选选项的价值,我希望有人能够提供帮助

为模板创建类

class Template:

  def _init_(self,version):
    self.version = version
    templateList.append(self)
    templateVersion.append(version)  

def selectVersion():
  for s in templateList:
    if s.version == selectedVersion.get():
      version.set(s.version)

templateList = []
templateVersion = []

Template("x1", "x1")
Template("x2", "x2")
Template("x3", "x3")
Template("x4", "x4")
Template("x5", "x5")
Template("x6", "x6")
Template("x7", "x7")
Template("c300", "c300")
Template("c400", "c400")
Template("c500", "c500")
Template("c600", "c600")
Template("c700", "c700")
Template("c800", "c800")
创建选项菜单

selectedVersion = tk.StringVar()
selectedVersion.set(templateVersion[0])
#Template Menu
templateMenu = OptionMenu(frameTemp, selectedVersion, *templateVersion)
templateMenu.pack()

selectBtn = tk.Button(frameTemp, text = "Select", command = selectVersion)
selectBtn.pack()

version = tk.StringVar()

#label

tempLbl = Label(frameTemp, textvariable = version)
tempLbl.pack()

win.mainloop()

回溯(最近一次呼叫最后一次):
文件“c:\Users\User\.vscode\extensions\ms python.python-2020.1.58038\pythonFiles\ptvsd_launcher.py”,第43行,在
干管(ptvsdArgs)
文件“c:\Users\User\.vscode\extensions\ms python.python-2020.1.58038\pythonFiles\lib\python\old\u ptvsd\ptvsd\\uuuuu main\uuuu.py”,第432行,在main中
运行()
文件“c:\Users\User\.vscode\extensions\ms python.python-2020.1.58038\pythonFiles\lib\python\old\u ptvsd\ptvsd\\uuuuu main\uuuu.py”,第316行,在运行文件中
runpy.run\u路径(目标,run\u名称=“”\uu主\uuuuuuuuuuuu')
文件“C:\Python38\lib\runpy.py”,第263行,在运行路径中
返回运行模块代码(代码、初始化全局、运行名称、,
文件“C:\Python38\lib\runpy.py”,第96行,在运行模块代码中
_运行代码(代码、mod_globals、init_globals、,
文件“C:\Python38\lib\runpy.py”,第86行,在运行代码中
exec(代码、运行\全局)
文件“c:\Users\User\Desktop\dropdown.py”,第38行,在
模板(“x1”、“x1”)
TypeError:Template()不接受任何参数

您将
\uuuuu init\uuuuuu
拼错为
\uuu init\uuuu
。结果,
模板。\uuuuu init\uuuuuuuuuuu>解析为
对象。\uuuuuuu init\uuuuuuuuuuu
,这确实不带任何参数。感谢您的帮助Chepner,我很感激它看起来像只需要一个参数。您提供了2.
模板版本为什么在类外的
模板列表上?这没有多大意义。同样,如果所有模板都只是一个字符串,为什么不存储一个字符串列表呢?您将
\uuuuuu init\uuuuu
拼错为
\uu init\uuuu
。因此,
模板。\uuuuuu init\uuuu
解析为
对象。\uuu inity参数。感谢您对切普纳的帮助,我很感激它让我觉得它实际上只需要一个参数。您提供了2。为什么
templateVersion
templateList
在类外?这没有多大意义。而且,如果所有模板都只是一个字符串,为什么不存储一个字符串列表呢?
Traceback (most recent call last):
  File "c:\Users\User\.vscode\extensions\ms-python.python-2020.1.58038\pythonFiles\ptvsd_launcher.py", line 43, in <module>
    main(ptvsdArgs)
  File "c:\Users\User\.vscode\extensions\ms-python.python-2020.1.58038\pythonFiles\lib\python\old_ptvsd\ptvsd\__main__.py", line 432, in main
    run()
  File "c:\Users\User\.vscode\extensions\ms-python.python-2020.1.58038\pythonFiles\lib\python\old_ptvsd\ptvsd\__main__.py", line 316, in run_file
    runpy.run_path(target, run_name='__main__')
  File "C:\Python38\lib\runpy.py", line 263, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "C:\Python38\lib\runpy.py", line 96, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "C:\Python38\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "c:\Users\User\Desktop\dropdown.py", line 38, in <module>
    Template("x1", "x1")
TypeError: Template() takes no arguments