Как я могу использовать классы в Python 3 для повышения функциональности моей программы?

Чтобы добавить мои два цента к ответу @ dbr, ниже приведен пример того, как реализовать это предложение из официальной документации, которую он привел:

"[...], чтобы вернуть строка, которая даст объект с тем же значением при передаче в eval (), [...] "

blockquote>

Учитывая это определение класса:

class Test(object):
    def __init__(self, a, b):
        self._a = a
        self._b = b

    def __str__(self):
        return "An instance of class Test with state: a=%s b=%s" % (self._a, self._b)

    def __repr__(self):
        return 'Test("%s","%s")' % (self._a, self._b)

Now , легко сериализовать экземпляр класса Test:

x = Test('hello', 'world')
print 'Human readable: ', str(x)
print 'Object representation: ', repr(x)
print

y = eval(repr(x))
print 'Human readable: ', str(y)
print 'Object representation: ', repr(y)
print

Итак, запустив последний фрагмент кода, мы получим:

Human readable:  An instance of class Test with state: a=hello b=world
Object representation:  Test("hello","world")

Human readable:  An instance of class Test with state: a=hello b=world
Object representation:  Test("hello","world")

Но, как я уже сказал в моем последнем комментарии: больше информации просто здесь !

0
задан B.Ing 18 January 2019 в 16:14
поделиться