有没有办法创建和命名一个对象/类,以及在同一行中运行该类的方法?

2024-10-03 23:18:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是想清理一些代码,我想知道是否有一种方法可以创建一个新的命名对象,以及在同一行的objects类中运行一个方法。例如:

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()方法将label对象放置在GUI中

如果我将.place放在第一行的末尾,则会创建一个nonetype对象


Tags: 对象方法代码textselfnumberobjectsplace
1条回答
网友
1楼 · 发布于 2024-10-03 23:18:06

您需要将类方法设计为可链接的,这意味着所有只修改对象(而不是从对象返回信息)的方法都应该以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。所以这种类型的编程不是很像python

相关问题 更多 >