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+matplotlib实现华丽的文本框演示代码
Jan 22 Python
Python排序算法之选择排序定义与用法示例
Apr 29 Python
代码详解django中数据库设置
Jan 28 Python
在django模板中实现超链接配置
Aug 21 Python
Python上下文管理器全实例详解
Nov 12 Python
tensorflow 获取checkpoint中的变量列表实例
Feb 11 Python
python3格式化字符串 f-string的高级用法(推荐)
Mar 04 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
Mar 24 Python
解决Python spyder显示不全df列和行的问题
Apr 20 Python
详解python命令提示符窗口下如何运行python脚本
Sep 11 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 Python
Python中的xlrd模块使用整理
Jun 15 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
php SQL之where语句生成器
2009/03/24 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
javascript globalStorage类代码
2009/06/04 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
Vue通过input筛选数据
2020/10/26 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
vue弹窗消息组件的使用方法
2020/09/24 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
Node配合WebSocket做多文件下载以及进度回传
2019/11/07 Javascript
Vue父子组件传值的一些坑
2020/09/16 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
Python urlopen()函数 示例分享
2014/06/12 Python
解决python flask中config配置管理的问题
2019/07/26 Python
python 实现屏幕录制示例
2019/12/23 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
如何进行Linux分区优化
2016/09/13 面试题
药学专业大专生的自我评价
2013/12/12 职场文书
实习自我鉴定
2013/12/15 职场文书
社区维稳工作方案
2014/06/06 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
大学生入党自荐书
2015/03/05 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
Python机器学习实战之k-近邻算法的实现
2021/11/27 Python
Linux磁盘管理方法介绍
2022/06/01 Servers