是否需要在此处使用“ if”语句?

Fluent Python 的示例6-3定义了一个私有变量self.__total,并在分配之前使用if语句,如下所示:

if not hasattr(self,'__total'):            
    self.__total = sum(item.total() for item in self.cart)        
return self.__total

为什么不只使用语句return self.__total = sum(item.total() for item in self.cart)进行分配?

jlx53727 回答:是否需要在此处使用“ if”语句?

有所不同

return self.__total = sum(item.total() for item in self.cart)

覆盖之前保存的任何值私有变量 total ,而

if not hasattr(self,'__total'):            
    self.__total = sum(item.total() for item in self.cart)        
return self.__total

如果之前分配了值,将返回前一个值...

本文链接:https://www.f2er.com/2626254.html

大家都在问