python基础

property 装饰器

2017-09-22  本文已影响8人  徐子鑑

@property 装饰器:把一个方法变成属性调用

例:

class Student(object):

    @property   
    def birth(self):   #定义属性birth,调用时获取属性的值
        return self._birth

    @birth.setter    #可以直接用方法更改birth属性的值
    def birth(self, value):
        self._birth = value

    @property       #只可以获取,不能修改
    def age(self):
        return 2015 - self._birth

__str__()返回用户看到的字符串

__repr__()返回程序开发者看到的字符串

例:

class Student(object):
    def __init__(self, name):
        self.name = name
    def __str__(self):
        return 'Student object (name=%s)' % self.name
    __repr__ = __str__  #偷懒写法,不然还要写个def __repr___
上一篇下一篇

猜你喜欢

热点阅读