0

これらのオブジェクトを印刷しようとしていcar_object[objectname]ますが、その方法がわかりません.... Cars クラスもあります。私がするとき、私はprint(car_object[objectname])得るObjectmeA160 <__main__.Cars object at 0x027FB970>。私は何を間違っていますか?

def __iter__(self):
    car_object = {}
    cursor = self._db.execute('SELECT IDENT, MAKE, MODEL, DISPLACEMENT, 
      POWER, LUXURY FROM CARS')
    for row in cursor:
        car_object = {}
        objectname = 'Object'+str(row['IDENT'])
        car_object[objectname] = Cars(ident = row['IDENT'], make = row['MAKE'], 
                  model = row['MODEL'], disp = row['DISPLACEMENT'], power = row['POWER'], luxury = row['LUXURY'])
        print(car_object[objectname])
        yield dict(row)

class Cars:  
    def __init__(self, **kwargs):
        self.variables = kwargs

    def set_Variable(self, k, v):
        self.variables[k] = v

    def get_Variable(self, k):
        return self.variables.get(k, None)
4

1 に答える 1

1

は、独自のフック<__main__.Cars object at 0x027FB970>を実装しないカスタム オブジェクトの標準文字列です。そのメソッドを実装することでカスタマイズできます。.__str__()

class Cars:
    # ....

    def __str__(self):
        return 'Car instance with variables: {!r}'.format(self.variables)
于 2013-02-28T21:42:38.580 に答える