我正在尝试将*
与self
一起使用
这是我的选择代码:
self.choices = glob.glob(os.path.join(self.directory, "*- to sign.jpg"))
这是我的下拉选项菜单代码:
self.popupMenu = OptionMenu(main, self.tkvar, self.*choices, command = func)
当我从两个选项中删除self
时,它都可以正常工作。但是使用self
无效,这是我的错误:
self.popupMenu = OptionMenu(main, self.tkvar, self.*choices, command = func)
^
SyntaxError: invalid syntax
这是工作代码:
choices = glob.glob(os.path.join(directory, "*- to sign.jpg"))
popupMenu = OptionMenu(main, tkvar, *choices, command = func)
这是我讨厌重写的代码:
self.choices = glob.glob(os.path.join(self.directory, "*- to sign.jpg"))
self.popupMenu = OptionMenu(main, self.tkvar, self.*choices, command = func)
self.popupMenu.grid(row=1, column=0)
为什么显示SyntaxError:语法为self.choices
无效?
答案 0 :(得分:1)
为什么显示SyntaxError:无效的语法为self.choices?
因为它是非法语法。 *
放在变量名之前,而不是中间。
OptionMenu(main, self.tkvar, *self.choices, command=func)
这称为可重复拆包,在此处记录在其他地方:Expression lists