python getattrribute_python操作对象属性
getattr
getattr(a,'b')的作用就和a.b是一样的。那么这个内建函数有什么作用呢,最方便的无疑是使用它来实现工厂方法(Factory Method)模式。
参数说明:
object:对象的实例
name:字符串,对象的成员函数的名字或者成员变量
default:当对象中没有该属性时,返回的默认值异常:当没有该属性并且没有默认的返回值时,抛出"AttrbuteError"。
异常安全的写法:
主要有两种异常
AttributeError: 对象中没有该属性
try:
func = getattr(obj,"method")
except AttributeError:
...... deal
else:
result = func(args)
// 或指定默认返回值
func = getattr(obj,"method", None)
if func:
func(args)
TypeError: 不可调用
func = getattr(obj,"method", None)]
if callable(func):
func(args)
setattr:
setattr()表示你可以通过该方法,给对象添加或者修改指定的属性。setattr()方法接受3个参数:setattr(对象,属性,属性的值)
delattr:
delattr()表示你可以通过该方法,删除指定的对象属性。
delattr方法接受2个参数:delattr(对象,属性)
下面是代码的应用
#encoding=utf-8
class student(object):
def __init__(self,name,age):
self.name = name
self.age = ages
info = student('xiaoming',32)
print sinfo.name
setattr(sinfo,'python','haha')
##和:sinfo.python = 'haha' 效果一样
print sinfo.__dict__
delattr(sinfo,'python')
##和del sinfo.python效果一样
print sinfo.__dict__
python getattrribute_python操作对象属性相关推荐
- 操作对象_DOM进阶——HTML属性操作(对象属性)
上一节我们在"DOM基础"学习了对元素节点的操作,这两节介绍对属性节点的操作. 属性节点操作有两种方式,一种是使用"对象属性",另一种是"对象方法&q ...
- Python self,init,对象属性
self关键字的作用 __init__初始化 # coding=utf-8 支持中文class Human(object):laugh = 'Ha'def show_laugh(self):print ...
- [转载] python如何删除对象属性_Python3基础 delattr 删除对象的属性
参考链接: Python delattr() ? python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 conda : 4.5.1 ...
- python如何删除对象属性_如何优雅的删除对象中的指定属性?
要优雅的话,使用 Lodash 的 omit 方法移除不要的属性: const object = { 'a': 1, 'b': '2', 'c': 3 }; const result = _.omit ...
- Python类与对象实验
一.任务描述 本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. ...
- java根据属性获取对象_java反射工具类--通过指定属性名,获取/设置对象属性值
java对象通过点运算符操作对象属性的方式没法使用for,while等循环,此工具主要解决这一问题. 例如:有一对象包含属性有一定规律 obj1: { name1: "张三", a ...
- python 类属性和对象属性--定义和作用域
类属性和对象属性定义 Python一切皆对象(object),每个对象都可能有多个属性(attribute).Python的属性有一套统一的管理方案. 对象的属性可能来自于其类定义,叫做类属性(cla ...
- python属性访问顺序_Python 对象属性的访问
在 Python 中,一切皆对象.属性访问可以理解为是从一个已有的对象中获得另一个对象的方法.对象属性的访问涉及到对象的 __dict__ 属性.描述符等概念,以及 __getattribute__. ...
- python如何对一个属性或方法进行封装_python 类、对象、方法、属性
在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) ...
最新文章
- centos安装emqtt_benchmark
- 静电对于机电设备的影响
- 【Matlab】找到矩阵中每个连通域的最小值
- 3月上旬我国域名增长平稳 新增92059个域名
- 腾讯开源负责人许勇:未来开源计划重点是AI和服务小程序生态
- red linux安装mysql_RedHat下安装MySQL5.5
- 在web网页中正确使用图片格式
- 黑白棋游戏水平(2)--pytorch剪裁
- java生产消费线程小例子
- 【转载】对SVM的个人理解---浅显易懂
- 主力用计算机吸筹,通达信主力吸筹+主力轨迹副图源码 贴图
- iOS开发iPhone竖屏icon尺寸与启动页尺寸汇总
- 别让手机偷走你的大半生
- 全球及中国钢铁行业投资产量趋势及营销盈利模式研究报告2021版
- 微信语音java_java微信企业号开发之发送消息(文本、图片、语音)
- PS 曲线(改变图片不同的色彩效果)
- 2022卡塔尔世界杯赛程直播北京时间_足球世界杯对阵表图完整全部
- 分享 stormzhang的Andoid学习之路
- 十几套JavaWeb项目,拿去当毕业设计简直太爽了(源码)
- Storm - Trident
热门文章
- 均值滤波 中值滤波 高斯平滑滤波
- html中文段落,HTML 段落-JavaScript中文网-JavaScript教程资源分享门户
- java .listfiles_Java File.listFiles()
- python 调用函数 开销_Python函数调用非常慢
- Flex与Javascript交互
- float浮动,定位
- ECMA6--字符串/数组
- 清除浮动小记,兼容Ie6,7
- ubuntu16.04 编译出错:fatal error: SDL/SDL.h: No such file or directory
- hdu 3549 Flow Problem(最大流模板题)