Python使用内置函数setattr设置对象的属性值


Posted in Python onOctober 16, 2020

英文文档:

setattr(object, name, value)

This is the counterpart of getattr(). The arguments are an object, a string and an arbitrary value. The string may name an existing attribute or a new attribute. The function assigns the value to the attribute, provided the object allows it. For example, setattr(x, 'foobar', 123) is equivalent to x.foobar = 123

设置对象的属性值

说明:

1. setattr函数和getattr函数是对应的。一个设置对象的属性值,一个获取对象属性值。

2. 函数有3个参数,功能是对参数object对象,设置名为name的属性的属性值为value值。

>>> class Student:
  def __init__(self,name):
    self.name = name

    
>>> a = Student('Kim')
>>> a.name
'Kim'
>>> setattr(a,'name','Bob')
>>> a.name
'Bob'

3. name属性可以是object对象的一个已经存在的属性,存在的话就会更新其属性值;如果name属性不存在,则对象将创建name名称的属性值,并存储value值。等效于调用object.name = value。

>>> a.age # 不存在age属性
Traceback (most recent call last):
 File "<pyshell#20>", line 1, in <module>
  a.age
AttributeError: 'Student' object has no attribute 'age'

>>> setattr(a,'age',10) # 执行后 创建 age属性
>>> a.age # 存在age属性了
10
>>> a.age = 12 # 等效于调用object.name
>>> a.age
12

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python单例模式实例分析
Jan 14 Python
Python计算三角函数之asin()方法的使用
May 15 Python
Python对象转JSON字符串的方法
Apr 27 Python
win10下Python3.6安装、配置以及pip安装包教程
Oct 01 Python
python编写微信远程控制电脑的程序
Jan 05 Python
Python键盘输入转换为列表的实例
Jun 23 Python
python占位符输入方式实例
May 27 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
Aug 23 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
Jul 20 Python
Python日志打印里logging.getLogger源码分析详解
Jan 17 Python
Python移位密码、仿射变换解密实例代码
Jun 27 Python
python pymysql库的常用操作
Oct 16 #Python
Python基于callable函数检测对象是否可被调用
Oct 16 #Python
python collections模块的使用
Oct 16 #Python
python 如何使用find和find_all爬虫、找文本的实现
Oct 16 #Python
Django实现随机图形验证码的示例
Oct 15 #Python
如何使用Python自动生成报表并以邮件发送
Oct 15 #Python
如何在Win10系统使用Python3连接Hive
Oct 15 #Python
You might like
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
php 文件缓存函数
2011/10/08 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
jquery实现键盘左右翻页特效
2015/04/30 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
2019/03/06 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
2019/06/18 jQuery
JavaScript数组去重实现方法小结
2020/01/17 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
深入解析Python中的__builtins__内建对象
2016/06/21 Python
python如何使用unittest测试接口
2018/04/04 Python
详解Python安装scrapy的正确姿势
2018/06/26 Python
linux安装python修改默认python版本方法
2019/03/31 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
python中实现词云图的示例
2020/12/19 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
酒吧副总经理岗位职责
2013/12/10 职场文书
小学生学习感言
2014/03/10 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
介绍信范文
2015/01/31 职场文书
2015年采购员工作总结
2015/04/27 职场文书
环保建议书作文300字
2015/09/14 职场文书