装饰器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     删除这个类属性的时候触发函数内部代码  
"""
相关文章
|
11月前
甚么!!你这麽传参是吧,好好
甚么!!你这麽传参是吧,好好
36 0
|
3月前
|
IDE Java 编译器
JAVA注解,你的代码需要的一次“心灵按摩”!
【6月更文挑战第29天】Java注解是提升代码可维护性的关键,它们是编译器和IDE理解代码意图的特殊标记,不同于仅作解释的注释。注解可用于编译时检查(如@Override、@NotNull)、自动生成代码(Lombok的@Getter、@Setter)、框架集成(Spring的@Autowired、MyBatis的@Mapper)。通过注解,代码变得更简洁、功能更强大,为项目带来效率提升。尝试使用注解,赋予代码新生命!
34 12
|
3月前
|
Java 开发者
那些年,我们追过的Java多态——回忆篇
【6月更文挑战第17天】重温Java多态,它激发了初学者对面向对象编程的热情。多态展示了代码的灵活性和可扩展性,通过抽象和接口使设计更高效。在实践中,如GUI事件处理和游戏开发,多态广泛应用。随着时间的推移,理解加深,多态被视为反映现实多样性的编程哲学。对初学者,它是探索编程世界的钥匙,不应惧怕困惑,应多实践,享受与计算机对话的乐趣。多态,是编程旅程中宝贵的财富和成长见证。
23 0
|
4月前
|
存储 编译器 C#
救命!揭秘C关键字,小白也能变大神
救命!揭秘C关键字,小白也能变大神
24 3
|
人工智能 文字识别 算法
穿颜色成对的袜子,追最新的剧:这群coder正帮视障者移走身上的大山
穿颜色成对的袜子,追最新的剧:这群coder正帮视障者移走身上的大山
103 0
|
前端开发 C语言
带你读书之“红宝书”:第十章 函数⑦
带你读书之“红宝书”:第十章 函数⑦
89 0
带你读书之“红宝书”:第十章 函数⑦
|
安全 编译器
我在一个构造方法中写了30个参数,老板看了想骂人
我在一个构造方法中写了30个参数,老板看了想骂人
101 0
|
设计模式
学了这个,三歪再也不想写各种setter了
今天又来给大家吹一下逼。 三歪在公司里边也看了不少的系统了,看到结构清晰、代码清晰的系统时会赞叹能写出这种代码的人是真的牛逼。看到乱七八糟的代码又不写注释的时候也会吐槽:“这写的是啥啊”
100 0
学了这个,三歪再也不想写各种setter了
|
Java 程序员
漫画:Object类很大,你忍一下(完结篇)
这一次,我们来重点讲解 wait(),notify(),notifyAll() 这三大方法。
168 0
|
Java Android开发
漫画:Object类很大,你忍一下
getClass() getClass方法是干什么的呢?首先,getClass方法用于获取一个对象的运行时类(Class),进而通过返回的Class对象,获取该类的相关信息,比如获取该类的构造方法、该类有哪些方法、该类有哪些成员变量等信息。
141 0