• 类中的属性如何在类外部使用代码进行增删改查呢

  • 增加、改变:

    setattr内置函数以及 __setattr__魔法方法

    class A:

    aaa = '疏楼龙宿'

    a = A()

    setattr(a,'aaa','人间至帅')

    内置函数:三个参数,第一个是类名,第二个是属性名字符串,第三个是需要修改的内容,注意,需要先实例化

    a.__setattr__('aaa','人间至帅')

    魔法方法:类中的魔法方法调用,传入属性名字符串和需要修改的内容

    增加又是怎么样的呢?同样是这个方法,如果你输入的属性名,匹配不到,那么就会自动增加,比如:

    setattr(a,'bbb',123)

    这就会增加一个bbb = 123 的属性进去

  • 查找:

    hasattr内置函数和__hasattr__魔法方法

    getattr内置函数和__getattr__魔法方法

    class A:

    aaa = '疏楼龙宿'

    a = A()

    hasattr(a,'aaa')    返回bool值,告诉你有没有这个属性在里面

    getattr(a,'aaa')    返回属性的具体内容,获取属性,要注意的是,当获取的属性不存在,即会报错;同样,可以通过对对应的魔法方法修改,来让函数输出其他内容。

  • 删除:

    delattr内置函数和 __delattr__ 魔法方法

    或者 直接 del 这个实例化

    delattr(re , 'ccc')

    re .__delattr__('bbb')

    del re

    其涵义同上

  • 总结,类的方法就是***attr这个,查找就是哈西attr(hasattr)或者获取attr(getattr),增加/修改就是设置attr(setattr),删除就是删除attr(delattr),以及上述该实例化对应的魔法方法

最新文章

  1. Ansible-Tower快速入门-7.配置实时事件【翻译】
  2. CPU与内存的关系
  3. wc(Word Count)
  4. 再看.net本质(二)
  5. 7)Java数据类型
  6. 对比MySQL,什么场景MongoDB更适用
  7. UIColor各种颜色转换
  8. SpringMVC Ajax返回的请求json 的方式来解决在中国字符串乱码问题
  9. Java静态代理和动态代理总结
  10. 网络不能上网但能ping通处理
  11. 地址下拉框,需要js级联js
  12. 关于 linux中TCP数据包(SKB)序列号的小笔记
  13. casbin-权限管理
  14. 阿里云RDS for MySQL 快速入门——笔记
  15. 【转载】访问IIS中网站出现 403.14 - Forbidden报错信息
  16. PHP中通过bypass disable functions执行系统命令的几种方式
  17. jQuery学习笔记(一)
  18. 《HTTP - 状态码》
  19. python-小数据池 and 编码
  20. TDate赋值给Variant时注意的问题

热门文章

  1. Shpfile文件的字段类型说明
  2. Error Code: 1055.Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'userinfo.
  3. 三、mysql主从复制
  4. ituring 挂了
  5. HTML marquee
  6. vue & dynamic components
  7. ffmpeg concat设置绝对路径
  8. GoEasy使用阿里云OSS出现的问题
  9. 1月加密货币交易所访问量破3亿!NGK生态星空计划、NGK生态所带来双重利好!
  10. go语言第一天(变量与基本类型)