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)
进行赋值呢
Tags:
这是有区别的,做什么
将覆盖私有变量total保留的任何先前值,而
将返回上一个值(如果它是在…之前指定的)
相关问题 更多 >
编程相关推荐