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)
来做作业呢?
发布于 2020-03-18 11:26:21
有一种不同,做
return self.__total = sum(item.total() for item in self.cart)
将覆盖任何以前的值私有变量总持有量,但是,
if not hasattr(self, '__total'):
self.__total = sum(item.total() for item in self.cart)
return self.__total
将返回先前的值,如果它是在.
https://stackoverflow.com/questions/60738380
复制相似问题