[PYTHON] Verwenden Sie bei Verwendung einer Eigenschaft eine Klasse, die ein Objekt erbt (Klasse neuen Stils).

Wenn nicht, neue Klasse

class Hoge:
    def __init__(self):
        self._x = 1

    @property
    def x(self):
        print 'property', self._x
        return self._x

    @x.setter
    def x(self, x):
        print 'setter'
        self._x = x

a = Hoge()
print a.x

a.x = 2
print a.x

Ergebnis##

property 1
1
2

Für die neue Klasse

class Hoge(object):
    def __init__(self):
        self._x = 1

    @property
    def x(self):
        print 'property', self._x
        return self._x

    @x.setter
    def x(self, x):
        print 'setter'
        self._x = x

a = Hoge()
print a.x

a.x = 2
print a.x

Ergebnis##

property 1
1
setter
property 2
2

Referenz##

Recommended Posts

Verwenden Sie bei Verwendung einer Eigenschaft eine Klasse, die ein Objekt erbt (Klasse neuen Stils).
Property Decorator verwenden?
Verwenden Sie ein Makro, das beim Speichern von Python mit vscode ausgeführt wird
Verwenden Sie configparser, wenn Sie die API verwenden
Ich habe einen TypeError: 'int'-Objekt ist bei Verwendung von Keras nicht iterierbar
Die Geschichte, dass ein Hash-Fehler bei der Verwendung von Pipenv auftrat
Ein Memorandum bis zur Verwendung von Mecab auf einer Maschine, die kein Sudo verwenden kann
Bei Verwendung von @property in Python wird ein Attribut nicht festgelegt
Ein Memorandum bei der Verwendung von schöner Suppe
[Hinweis] Bedeutung, dass __unicode__ erforderlich ist, wenn die Modellklasse von Django definiert wird
Kenntnisse beim Erstellen eines Bots mit discord.py
Ein Programm, das Python zum Abspielen von Junk verwendet