Python:Class对象返回TypeError

时间:2017-09-07 14:22:13

标签: python class

种子和n是迭代。在输出中我有TypeError: <__main__._rundckdo.<locals>.createDie.<locals>.Die object at .0x2b1a1e567630> is not JSON serializable。如何在不使用json库的情况下修复此问题?我做错了什么?

def createDie(seed, n):
  class Die(object):
    def __init__(self,*args):
        self.seed = args[0]
        self.n = args[1]
    def __bool__(self):
        return True if self.seed>self.n else False

  class Game(object):
    die = Die(seed, n)

  return Game.die

1 个答案:

答案 0 :(得分:1)

根据您的comment,您希望createDie()返回一个布尔值。实际上,它正在返回Die类的实例。这导致TypeError,因为来电者不知道如何序列化它。

您需要显式获取布尔值:

return bool(Game.die)