【发布时间】:2023-03-08 16:04:01
【问题描述】:
如果我正在定义一个类,并且我需要实例化一些对象,但这些对象不需要是属性,并且在类中没有进一步的引用,它们应该只是匿名实例化,还是临时实例化多变的? 例如,我正在用 python 制作一个 GUI 程序,只需要制作和放置某些按钮和标签,但除此之外不需要进一步的操作。那么在这两个中,这两个中的一个是首选吗?
class Foo(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
pass
def bar(self):
tk.Label(self, text="This is a label.")
class Foo(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
pass
def bar(self):
label = tk.Label(self, text="This is a label.")
一方面,我可以看到创建变量如何提高代码的可读性。另一方面,我不确定该变量是否会引入更多的内存使用,或者减慢程序的速度。也可能是编译器无论如何都会优化内存使用,所以这并不重要。 任何有关此的更多信息将不胜感激。
【问题讨论】:
-
“我不确定这个变量是否会导致更多的内存使用,或者减慢程序的速度。”它不会。
标签: python performance memory