学习Python 3 super()方法时遇到的temporary object是什么?
什么是临时对象(Temporary Object)?
临时对象就是创建后仅用于单次操作、用完即被销毁的对象——它不会被赋值给任何变量,也不会被程序长期持有引用,使命完成后就会被语言的垃圾回收机制清理。
拿你正在学的super()举例子,比如Python里的这段代码:
class Child(Parent): def __init__(self): super().__init__() # 这里super()返回的就是临时对象
这里super()生成的对象,唯一作用就是调用父类的__init__方法,调用完成后,这个对象没有被任何变量保存,马上就会被回收,这就是典型的临时对象。
再举几个常见场景:
- 直接用匿名对象调用方法:
print(User().get_username()),这里User()创建的实例就是临时的,打印完就没用了 - 表达式运算中的临时实例:比如
total = ShoppingCart() + Discount(),运算过程中生成的中间对象也是临时对象
简单说,临时对象就是“一次性工具”——只在当前操作里发挥作用,不需要留着下次用,用完就丢。
内容的提问来源于stack exchange,提问作者user19826836
相关产品推荐
相关产品推荐

