hasattr函数使用方法
 # hasattr函数使用方法
# hasattr(object,attr)
# 判断一个对象里是否有某个属性或方法,返回布尔值,有为True,否则False
class person():
'''测试类'''
name = 'mike'
age = '' def say(self):
'''测试方法'''
return 'hello!' per = person()
has_name = hasattr(per, 'name')
has_sex = hasattr(per, 'sex')
has_say = hasattr(per, 'say')
print('1.是否有name属性:', has_name)
print('2.是否有sex属性:', has_sex)
print('3.是否有say方法:', has_say)

运行结果:

1.是否有name属性: True
2.是否有sex属性: False
3.是否有say方法: True

  

getattr函数使用方法
 # getattr函数使用方法
# getattr(object,attr[,default])
# 获取对象的属性或方法,可设置输出默认值,
# 如果获取方法,返回的是内存地址,如果需要运行,后面添加一对括号
has_name = getattr(per, 'name')
has_sex = getattr(per, 'sex', 'male')
has_say = getattr(per, 'say')()
print('1.name属性:', has_name)
print('2.sex属性不存在,返回默认值:', has_sex)
print('3.say方法执行结果:', has_say)

运行结果:

1.name属性: mike
2.sex属性不存在,返回默认值: male
3.say方法执行结果: hello!
setattr函数使用方法
 # setattr函数使用方法
# setattr(object,attr,values)
# 给对象的属性赋值,若属性不存在,则先创建再赋值
setattr(per, 'name', 'Tom')
print('1.修改name属性:', per.name)
setattr(per, 'id', '')
print('2.创建id属性:', per.id)

运行结果:

1.修改name属性: Tom
2.穿件sex属性: 6557

  

最新文章

  1. cookie的作用
  2. 用非管理员权限启动主程序,并用管理员权限启动子程序,导致WM_COPYDATA消息发送失败的问题
  3. DevExpress DXperience 的ASPxFilterControl 不显示 Like 菜单的方法
  4. Java基础之序列化对象——反序列化对象(DeserializeObjects)
  5. 在c#中使用mongo-csharp-driver操作mongodb
  6. Request/Server的相关topic
  7. [转]Activemq管理和基本介绍
  8. RSA加密解密(PHP Demo)
  9. 文件上传<springmvc>
  10. Unity 多屏(分屏)显示,Muti_Display
  11. Java开发相关命名规范
  12. 如何使用JavaScript实现纯前端读取和导出excel文件
  13. jira8.0.2安装与破解
  14. update linux dns,no need restart
  15. ES6,Array.copyWithin()函数的用法
  16. undefined reference to...
  17. 20161210xlVBA一行数据转为四行
  18. PHP变量的传值和引用
  19. vue项目引入社交分享插件
  20. 当点击onBackpress方法或者onKeyDown方法时出现不能响应的问题解决办法

热门文章

  1. Python脱产8期 Day02
  2. C++的 new 和 detele
  3. Android学习之基础知识四-Activity活动6讲(体验Activity的生命周期)
  4. android精品开源项目整理
  5. 由javascript的闭包引申到程序语言编译上的自由变量作用域的考量
  6. NPOI DataTable导出excel
  7. 【LeetCode106】Construct Binary Tree from Inorder and Postorder Traversal★★
  8. [Python]Python Class 中的 函数定义中的 self
  9. Scala学习(七)---包和引入
  10. Mvc4_ @RenderBody、@RenderPage、@RenderSection用法