装饰器property 为了把媳妇藏起来

简介: 装饰器property 为了把媳妇藏起来
class C(object):
    """
    为了不让用户直接访问属性,让他设置为私密的,然后让property去搞
    """
    def __init__(self):
        self._x = None

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

    @x.setter
    def x(self, value):
        print("set")
        self._x = value

    @x.deleter
    def x(self):
        print("del")
        del self._x

c = C()
c.x   # property
c.x = "李哈哈"  # setter
del c.x  # deleter


"""
这三个是兄弟三个,一起用一起写,你如果只需要获取,那property就足够了,如果你想赋值和删除,但是没有下面的装饰器,就会报错。

@property :(相当于getattr的功能) 把 类函数  变成 类属性(此时属性类型为NoneType)    最终效果:调用这个属性 就会执行函数内部代码

@类函数.setter      给这个类属性赋值的时候触发函数内部代码

@类函数.deleter     删除这个类属性的时候触发函数内部代码  
"""
相关文章
|
8月前
|
安全 Java 数据库连接
【Java每日一题】——第三十五题:一个父类Animal和两个子类Rabbit和Tiger描述动物世界的继承关系两个子类吃的行为各不相同(兔子吃草,老虎吃肉)但睡觉的行为是一致
【Java每日一题】——第三十五题:一个父类Animal和两个子类Rabbit和Tiger描述动物世界的继承关系两个子类吃的行为各不相同(兔子吃草,老虎吃肉)但睡觉的行为是一致
|
8月前
|
Java C++ Python
【C++从练气到飞升】06---重识类和对象(二)
【C++从练气到飞升】06---重识类和对象(二)
|
设计模式 JSON 监控
趣谈装饰器模式,让你一辈子不会忘
来看这样一个场景,上班族大多有睡懒觉的习惯,每天早上上班都时间很紧张,于是很多人为了多睡一会儿,就用更方便的方式解决早餐问题,有些人早餐可能会吃煎饼。煎饼中可以加鸡蛋,也可以加香肠,但是不管怎么加码,都还是一个煎饼。再比如,给蛋糕加上一些水果,给房子装修,都是装饰器模式。
140 0
|
8月前
|
机器人 程序员 C++
Scratch3.0——助力新进程序员理解程序(案例一、画画的蝴蝶)
Scratch3.0——助力新进程序员理解程序(案例一、画画的蝴蝶)
42 0
|
设计模式 安全
趣解里氏替换原则之《我买了宝马,为啥不让我停这》
趣解里氏替换原则之《我买了宝马,为啥不让我停这》
92 0
|
安全 Java 编译器
学妹不懂Java泛型,非让我写一篇给她看看(有图为证)
笔者有个学妹就遇到了相同的境遇,学弟被泛型搞得头晕目眩,搞不懂泛型是个啥玩意。天天用的泛型也不知道啥玩意(她可能都不知道她有没有用泛型)。立图为证!当然,笔者深度还欠缺,如果错误还请指正!
147 0
学妹不懂Java泛型,非让我写一篇给她看看(有图为证)
|
存储 算法 安全
烧点脑子使劲看--对象详细讲解
当Java虚拟机遇到一条new字节码指令时,首先会检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个符号引用所代表的类是否已经被加载,如果没有,就必须先将就该类加载到内存中,具体过程见:
103 0
|
安全 编译器
我在一个构造方法中写了30个参数,老板看了想骂人
我在一个构造方法中写了30个参数,老板看了想骂人
112 0
|
设计模式
学了这个,三歪再也不想写各种setter了
今天又来给大家吹一下逼。 三歪在公司里边也看了不少的系统了,看到结构清晰、代码清晰的系统时会赞叹能写出这种代码的人是真的牛逼。看到乱七八糟的代码又不写注释的时候也会吐槽:“这写的是啥啊”
111 0
学了这个,三歪再也不想写各种setter了
|
前端开发 JavaScript
好客租房77-setState方法说明(2推荐语法)
好客租房77-setState方法说明(2推荐语法)
128 0

热门文章

最新文章