我只是想清理一些代码,我想知道是否有办法创建一个新的命名对象,以及在同一行的对象类中运行一个方法。例如:
self.equipment_widgets["NumOfStagesLabelCentComp"]=tk.Label(self.parent, text="Number of Stages:", bg="white")
self.equipment_widgets["NumOfStagesLabelCentComp"].place(relx=0.5, y=260, anchor="center")
在第一行中,我将一个新的tk.Label
类初始化为名为equipment_widgets
的字典中的对象。在下一行中,我使用place()
方法将标签对象放在我的GUI中。
如果我将.place
放在第一行的末尾,则会创建一个nonetype
对象。
答案 0 :(得分:1)
您需要将类方法设计为可链接的,这意味着只修改对象的所有方法(而不是从对象返回信息)应以return self
结束。这允许你写:
object.method1(...).method2(...).method3(...)
如果以这种方式设计place()
方法,您应该可以在第一行使用它。
self.equipment_widgets["NumOfStagesLabelCentComp"]=tk.Label(self.parent, text="Number of Stages:", bg="white").place(relx=0.5, y=260, anchor="center")
请注意,Python标准类中的大多数变异方法都不可链接,它们通常会返回None
。所以这种类型的编程并不是非常pythonic。