程序猿没有女朋友怎么办,New一个呗!【property练习】,newproperty,在 Python 中 p


在 Python 中 property这个装饰器的功能就是让方法变成属性。在面向对象的编程中,可以使用这种方法来更合理的管理对象的属性,使类封装得更加清爽。

#!/usr/bin/env python3# -*- coding: utf-8 -*-import base64class female:    @property    def age(self):        templet = lambda s: '{:s} {:d} 岁'.format(s, self.__age)        if self.__age < 23:            return templet('芳龄')        elif 22 > self.__age or self.__age < 28:            return templet('美眉')        elif 27 > self.__age or self.__age < 33:            return templet('阿姨')        else:            return templet('大妈')    @age.setter    def age(self, value):        if value < 16:            raise ValueError('屌丝……请不要糟蹋少女 !')        elif value > 60:            raise ValueError('屌丝……你口味太重啦!')        else:            if '_female__age' in dir(self):                if self.__age > value:                    raise ValueError('屌丝……时间可以倒流的吗?!')        self.__age = value    @age.deleter    def age(self):        raise SystemError('屌丝……年轮是可以删除的吗?!')    @property    def breif(self):        STR = b'CC44rqL6V2Y5vip5g2L5GqL5Oip5B+K6fmL53Cq5MCZ5My77/y45Pqb5Li65vip5g2L5Oip5B+K6My77ESa5k2q5wiY5Ly55g2L5T2b5'        return base64.b64decode(STR[::-1]).decode('UTF-8')if __name__ == '__main__':    girlfriend = female()   # 程序猿没有女朋友怎么办, New一个呗!    girlfriend.age = 26    print( girlfriend.age )    print( girlfriend.breif )#该片段来自于http://byrx.net

评论关闭