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 相关文章推荐
10个易被忽视但应掌握的Python基本用法
Apr 01 Python
python 统计代码行数简单实例
May 04 Python
Python基于回溯法子集树模板解决选排问题示例
Sep 07 Python
python enumerate函数的使用方法总结
Nov 15 Python
从CentOS安装完成到生成词云python的实例
Dec 01 Python
Python实现的knn算法示例
Jun 14 Python
django之状态保持-使用redis存储session的例子
Jul 28 Python
Python中filter与lambda的结合使用详解
Dec 24 Python
python2 对excel表格操作完整示例
Feb 23 Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 Python
Python中X[:,0]和X[:,1]的用法
May 10 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
Apr 06 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调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
使用documentElement正确取得当前可见区域的大小
2014/07/25 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
微信小程序实现watch监听
2020/06/04 Javascript
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
tensorflow更改变量的值实例
2018/07/30 Python
使用python Fabric动态修改远程机器hosts的方法
2018/10/26 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
Python基于requests库爬取网站信息
2020/03/02 Python
python属于解释语言吗
2020/06/11 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
Python ellipsis 的用法详解
2020/11/20 Python
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
会计自我鉴定
2013/11/02 职场文书
中学生打架检讨书
2014/02/10 职场文书
食品安全承诺书
2014/05/22 职场文书
七年级地理教学计划
2015/01/22 职场文书
行政处罚事先告知书
2015/07/01 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL