[PYTHON] attribut

Implémentation d'attribut

Implémenter avec des attributs publics simples

python


class Book:
    def __init__(self, title):
        self.title = title
        self.page = 0
        self.isbn10 = ''

def main():
    b = Book('python book')
    b.page = 100
    b.page += 1
    print b.page

if __name__ == '__main__':
    main()

Utilisez des décorateurs de propriété lorsqu'un comportement spécial est requis

--Migrez le décorateur @ property et son attribut setter correspondant si un comportement spécial est requis lorsque l'attribut est défini. --Comportement du setter / getter Faites-en une méthode quand cela devient compliqué pour ne pas le compliquer.

python


class Book(object):
    def __init__(self, title):
        self.title = title
        self.page = 0
        self.isbn10 = ''

class BookEx(Book):
    def __init__(self, title):
        super(BookEx, self).__init__(title)
        self._page = 0

    @property
    def page(self):
        return self._page

    @page.setter
    def page(self, page):
        # something do need.
        self._page = page

def main():
    b = Book('python book')
    b.page = 100
    b.page += 1
    print b.page

if __name__ == '__main__':
    main()

Recommended Posts

attribut
attribut
Alias d'attribut Python