首页 > 其他分享 >(第七篇)__setattr__、__geattr__、__delattr__、__getattribute__(对象属性访问)

(第七篇)__setattr__、__geattr__、__delattr__、__getattribute__(对象属性访问)

时间:2023-04-07 12:56:53浏览次数:29  
标签:__ delattr name setattr value 第七篇 赋值 属性

摘要:在对象的创建和使用期间自动调用。这些特殊方法可以用于实现类似于属性访问、属性删除、属性赋值和属性访问前的特殊行为。

一、__setattr__

用于在属性赋值时被自动调用,并将该属性名和属性值存储在实例字典中。该方法可以用来检查属性值的合法性,也可以用来实现属性赋值时的复杂逻辑

class MyClass:
    def __setattr__(self, name, value):
        print(f"Setting {name} to {value}")
        # 可写一些规范属性等其他逻辑 
        super().__setattr__(name, value)  # 我们使用super()方法调用父类的__setattr__方法,以便在实例字典中存储属性

obj = MyClass()
obj.x = 5

"""
执行结果:
Setting x to 5
"""

二、__getattr__

持续更新中。。。。。。

 

 

 

 

 

 

 

 

 

 

 

 

标签:__,delattr,name,setattr,value,第七篇,赋值,属性
From: https://www.cnblogs.com/hechengQAQ/p/17295795.html

相关文章

  • seata学习AT模式
    注意点这里版本seata1.4.2(启动直接bin目录下面bat文件启动)数据库代理enable-auto-data-source-proxy这个配置默认开启(默认开启,配置相关配置就可以使用seata了),切换其他的可以自己配置。版本问题官网参考具体教程1.背景介绍Seata是一款开源的分布式事务解决......
  • centos6更换源
    #备份原有文件[root@zk1/]#mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup#跳过检查证书,从https://www.xmpan.com/Centos-6-Vault-Aliyun.repo下载源[root@zk1/]#wget--no-check-certificate/etc/yum.repos.d/CentOS-Base.repohttps://w......
  • 缠论1
    1.入门k线归并,分型,笔,线段1.1向上处理,都往高了看高点取其高,低点取其高1.2向下处理,都往低了看高点取其低,低点取其低1.3备注不看上下影线2.分型2.1有顶分型吗?下降趋势,低点取其低,高点取其低K线合并,没有顶分型3.笔感觉像波浪理论那么画就行......
  • 星际迷航
    一、打开背景1素材,二、置入我们背景2图片,进行旋转排放,更改图层混合模式为滤色。三、使用调整层色阶命令,四、置入宇航员素材放入画布中,五、使用我们色彩平衡调整颜色,六、置入猫素材创建图层蒙版将多余擦除,保留一个头,七、置入头盔,调整好位置,更改图层模式为滤色八、在......
  • multiple definition of `MainWindow::MainWindow(QWidget*)
     qt刚建好工程运行的时候没问题,后面写了一点东西之后,再运行就发现出现MainWindow重复,我不理解。  解决方法:删除重复的引用。 再重新构建一下就好了。 ......
  • Hypercube
    目录概HypercubeGeneralizingHypercubesSpielmanD.A.SpectralandAlgebraicGraphTheory.概设计Hypercube的特征值和特征向量的证明着实有趣,特此记录.Hypercube对于两个加权图\(G=(V,E,v)\)和\(H=(W,F,w)\)而言,\(G\timesH\)表示点集为\(V\t......
  • 迪进国际推出8/16/32端口选项,增强Digi Connect EZ系列设备服务器的功能
    全球领先的物联网(IoT)连接产品和服务供应商迪进国际(DigiInternational,NASDAQ:DGII, www.digi.com)今日宣布推出DigiConnect® EZ8/16/32。该解决方案是迪进新一代设备服务器系列的最新产品,为企业、商业和工业自动化应用提供安全、可扩展的连接。此次产品扩展强调了迪进为......
  • GaussDB(DWS)集群中寻找节点CPU占用高的语句
    摘要:本文主要通过实例讲解如何通过gs_cpuwatcher.sh脚本寻找CPU占用高语句。本文分享自华为云社区《GaussDB(DWS)gs_cpuwatcher.sh脚本如何寻找CPU占用高语句》,作者:fighttingman。【工具名称】gs_cpuwatcher【功能描述】1.寻找集群内节点占用CPU高的语句【使用场景】CPUsys使用......
  • CVPR 2023 | 单阶段半监督目标检测SOTA:ARSL
    本文提出了针对单阶段半监督目标检测任务的Ambiguity-ResistantSemi-supervisedLearning(ARSL)算法,创新地提出了两个通用的单阶段半监督检测模块:Joint-ConfidenceEstimation(JCE)和Task-SeparationAssignment(TSA)。JCE通过联合分类和定位任务的置信度评估伪标签质量。TSA基于教师模......
  • SOLIDWORKS Simulation仿真分析解决方案
    SOLIDWORKS Simulation是一个与SOLIDWORKS完全集成的设计分析系统。SOLIDWORKSSimulation提供了单一屏幕解决方案来进行应力分析、频率分析、扭曲分析、热分析和优化分析。SolidWorksSimulation凭借着快速解算器的强有力支持,使得您能够使用个人计算机快速解决大型问题。SOLI......