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单例模式与metaclass
Jan 15 Python
在centos7中分布式部署pyspider
May 03 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 Python
Python实现的简单模板引擎功能示例
Sep 02 Python
python自动裁剪图像代码分享
Nov 25 Python
Python3中bytes类型转换为str类型
Sep 27 Python
对python实现合并两个排序链表的方法详解
Jan 23 Python
详解用python生成随机数的几种方法
Aug 04 Python
python安装virtualenv虚拟环境步骤图文详解
Sep 18 Python
在Keras中利用np.random.shuffle()打乱数据集实例
Jun 15 Python
如何更换python默认编辑器的背景色
Aug 10 Python
python中openpyxl和xlsxwriter对Excel的操作方法
Mar 01 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
php目录拷贝实现方法
2015/07/10 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
jQuery的一些注意
2006/12/06 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
jQuery Tools tab使用介绍
2012/07/14 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
javascript实现的图片预览功能
2017/03/25 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
wxPython学习之主框架实例
2014/09/28 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
2019/12/12 Python
在Python 的线程中运行协程的方法
2020/02/24 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
创业计划实施的7大步骤
2014/02/05 职场文书
年度献血先进个人事迹材料
2014/02/14 职场文书
2014政务公开实施方案
2014/02/19 职场文书
房屋继承公证书
2014/04/10 职场文书
信访工作汇报材料
2014/10/27 职场文书
小班下学期个人总结
2015/02/12 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
朋友聚会开场白
2015/06/01 职场文书
预备党员群众意见
2015/06/01 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python