题主对于全局变量和类的静态属性理解有误。这里的memo并非全局变量,而是类的静态成员,访问它需要加上self。请看下面的代码:
>>> class Solution:
memo = dict()
def integerBreak(self, n):
def dp(n):
if n in self.memo:
return self.memo[n]
else:
return 'OK'
return dp(n)
>>> a = Solution()
>>> a.integerBreak(5)
'OK'