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从ftp下载数据保存实例
Nov 20 Python
从零学python系列之数据处理编程实例(二)
May 22 Python
Python实现端口复用实例代码
Jul 03 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
Python分割指定页数的pdf文件方法
Oct 26 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
python数据处理 根据颜色对图片进行分类的方法
Dec 08 Python
深入了解Python在HDA中的应用
Sep 05 Python
python实现猜数字游戏
Mar 25 Python
Python爬取阿拉丁统计信息过程图解
May 12 Python
python 实现体质指数BMI计算
May 26 Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
Apr 04 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
smtp邮件发送一例
2006/10/09 PHP
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
2018/08/30 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
Python中的lstrip()方法使用简介
2015/05/19 Python
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
2015/05/20 Python
Python IDLE入门简介
2017/12/08 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
爱游人:Travelliker
2017/09/05 全球购物
业务员岗位职责
2013/11/16 职场文书
财务总监岗位职责
2014/03/07 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
2014年民警工作总结
2014/11/25 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
详解Java实现数据结构之并查集
2021/06/23 Java/Android
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python