getattr、setattr、hasattr
2024-09-04 21:39:42
写一个演示类
class test():
title="验证getattr、setattr、hasattr方法"
def run(self):
return "run方法的输出" t=test()
getattr获取类里面属性、方法:getattr(object, name[,default])
print('获取对象属性的验证:',getattr(t,'title','需要的属性不存在(默认值)'))
'''
1.存在时:输出属性对应的value值
2.不存时:输出默认值(如果没有设置默认值会报错) '''
print('获取对象属性:',getattr(t,'run')) #输出的是内存地址
'''
获取对象属性: <bound method test.run of <__main__.test object at 0x03BF64F0>>
'''
print('获取对象属性:',getattr(t,'run')()) #输出的是方法体的输出结果
'''
获取对象属性: run方法的输出
'''
setattr添加属性和修改属性:setattr(object, name,values)
setattr(t,'describle','setattr添加属性并赋值')
print(t.describle) #setattr添加属性并赋值 setattr(t,'title','setattr修改原有属性')
print(getattr(t,'title')) #验证表示已经存在,返回结果为:setattr修改原有属性
hasattr添加属性和修改属性:判断一个对象是否有属性和方法
#hasattr(object,title),判断一个对象是否有name属性或者name方法,返回值为bool值,需要注意的是name需要括起来
print(hasattr(t,'describle')) #验证表示已经存在,结果是bool值,结果为True
最新文章
- AngularJS移动开发中的各种坑
- UTF-8 Unicode ANSI网页编码的区别
- hdu 4764 &;&; 2013长春网赛题解
- iOS: 学习笔记, 使用FMDatabase操作sqlite3
- [转] Javascript中数组与字典(即object)的使用
- Nginx 防CC攻击拒绝代理访问
- codevs2019 Uva10029 递变阶梯
- 关于Tomcat一些启动错误的解决方法
- Java集合框架(二)
- 深度学习之卷积神经网络(CNN)
- 关于如何在电脑上安装adb来操作手机(Android)的方法及步骤
- How to enable C development in a Windows 10 development environment VM
- Web API 2 使用Entity Framework Part 1.
- centos 6.5内核编译步骤及配置详解
- android开发之代码混淆
- SDN期末作业博客
- Apple原装扫描二维码指定区域
- PHP的垃圾回收
- Openresty+Lua+Redis灰度发布
- WCF(一) 创建第一个WCF