python getattr() setattr() hasattr() delattr()内置函数详解

python getattr() setattr() hasattr() delattr()内置函数详解

1.getattr(object, name[, default]):

功能:获取对象的属性值。
参数:
object:要获取属性的对象。
name:属性的名称。
default(可选):如果属性不存在,则返回的默认值。
返回值:返回属性的值,如果属性不存在且没有指定默认值,则会引发 AttributeError 异常。

2.setattr(object, name, value):

功能:设置对象的属性值。
参数:
object:要设置属性的对象。
name:属性的名称。
value:属性的值。
返回值:无。

3.hasattr(object, name):

功能:检查对象是否拥有指定的属性。
参数:
object:要检查的对象。
name:属性的名称。
返回值:如果对象拥有指定属性,则返回 True,否则返回 False。

4.delattr(object, name):

功能:删除对象的指定属性。
参数:
object:要删除属性的对象。
name:属性的名称。
返回值:无。
这些内置函数对于动态操作对象的属性非常有用。例如,可以使用 getattr() 和 setattr() 来动态访问和修改对象的属性,而 hasattr() 和 delattr() 可用于检查属性是否存在并删除属性。

以下是示例代码,演示了这些函数的用法:

class Person:def __init__(self, name, age):self.name = nameself.age = ageperson = Person("Alice", 25)# 获取属性值
name = getattr(person, "name")
print(name)  # 输出: Alice# 设置属性值
setattr(person, "age", 30)
print(person.age)  # 输出: 30# 检查属性是否存在
has_name = hasattr(person, "name")
print(has_name)  # 输出: Truehas_address = hasattr(person, "address")
print(has_address)  # 输出: False# 删除属性
delattr(person, "age")
print(person.age)  # 引发 AttributeError 异常

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/178641.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

房屋租赁出售经纪人入驻小程序平台

一款专为房屋中介开发的小程序平台,支持独立部署,源码交付,数据安全无忧。 核心功能:房屋出租、经纪人独立后台、分佣后台、楼盘展示、房型展示、在线咨询、地址位置配套设施展示。 程序已被很多房屋交易中介体验使用过&#x…

hive两张表实现like模糊匹配关联

testa表(字段a)aaabbacccddddddaaatestb表(字段b)ab1. 使用likeconcat模糊配对 selecta.a from testa a ,testb b where a like concat(%,b.b,%) group by a.a2. 使用locate函数 selecta.a from testa a ,testb b where locate(b.b,a.a)>0 group by a.a3. 使用instr函数 sel…

uni-app 离线打包安卓Apk(小白上手)

场景: 在使用uni-app 开发apk时,使用云打包有次数限制。尤其对于测试阶段是无比难受的,通常是浪费打包次数进行打包或者通过usb 给测试机更新开发环境,但这都是无比漫长的过程 尤其有多个测试机真的是噩梦般的存在 下载离线打包示…

CMake中的变量: 与编程语言相关的变量

变量名称描述CMAKE_C_COMPILE_FEATURESC编译器已知的功能列表CMAKE_C_EXTENSIONSC_EXTENSIONS目标属性的默认值(如果在创建目标时设置)。CMAKE_C_STANDARDC_STANDARD目标属性的默认值(如果在创建目标时设置)。CMAKE_C_STANDARD_RE…

Android frameworks 开发总结之十一

1.查看android关机前的log 有时候我们在没有连接电脑的情况下,会在测试的时候突然机器关机. 这个时候如果查看 log信息就看不到了。测试前可以执行下面的命令,之后再进行测试. $ adb shell $ nohup logcat > /sdcard/xxx.log 2.android日期时间同步 关于android请求…

【数据库】聊聊一颗B+树 可以存储多少数据

我们知道数据库使用的数据结构是B树,但是B树可以存储多少数据呢,在面试中也是经常会问的问题,所以我们从根上理解这个问题。 操作系统层面 数据都是存储在磁盘中的,而磁盘中的数据都是以最新单位扇区进行分割。一个扇区的大小是…

Python基础语法之学习数据转换

Python基础语法之学习数据转换 一、代码二、效果 一、代码 #数字转换成字符串 num_str str(11) print(type(num_str))#字符串转整数 numint("11") print(type(num),num)#浮点数转整数 float_num int(11.1) print(type(float_num),float_num)#整数转浮点数 num_flo…

OpenSSL 使用AES对文件加解密

AES(Advanced Encryption Standard)是一种对称加密算法,它是目前广泛使用的加密算法之一。AES算法是由美国国家标准与技术研究院(NIST)于2001年发布的,它取代了原先的DES(Data Encryption Stand…

webpack项目工程初始化

一、初始化项目 默认系统已经安装node //初始化 pnpm init//安装webpack pnpm i -D webpack webpack-cli 新建一个index.html的入口文件 新建一个src文件存放js代码,src里面新建一个index.js package.josn配置打包命令 {"name": "webpack-cs&q…

MIT6.824-Raft笔记3:Raft日志、应用层和raft之间的日志“传递“

1. 日志(Raft Log) 你们应该关心的一个问题是:为什么Raft系统这么关注Log,Log究竟起了什么作用? Log是Leader用来对操作排序的一种手段。这对于复制状态机(复制状态机基于:对于复制的服务 ser…

Linux下基于MPI的hello程序设计

Linux下基于MPI的hello程序设计 一、MPICH并行计算库安装实验环境部署创建SSH信任连接,实现免密钥互相连接node1安装MPICH 3.4配置NFS注意(一定要先看)环境测试 二、HELLO WORLD并行程序设计 一、MPICH并行计算库安装 在Linux环境下安装MPICH执行环境,配…

Linux(CentOS7.5):通过docker安装redis

一、准备配置文件 在宿主机,准备映射配置文件的目录下,运行如下: wget http://download.redis.io/redis-stable/redis.conf二、安装 docker run \ --restartalways \ --log-opt max-size100m \ --log-opt max-file2 \ -p 6380:6379 \ -v /opt…

[ 持续更新 ] Sprint Boot 常用注解汇总

Sprint Boot 常用注解 请求与响应 RequestMapping 可以给类或类的属性设置该注解,表示支持的所有 HTTP 请求方法,如 GET、POST、PATCH、DELETE 等 如果给类设置,表示该路径的前缀。给方法设置,表示让这个方法支持所有的请求方…

【浅尝C++】C++类的6大默认成员函数——构造、析构及拷贝构造函数

🎈归属专栏:浅尝C 🚗个人主页:Jammingpro 🐟记录一句:好想摆烂,又好想学习~~ 文章前言:本篇文章简要介绍C类的构造函数、析构函数及拷贝构造函数,介绍每个小点时&#xf…

【Linux专题】http(s)代理

【赠送】IT技术视频教程,白拿不谢!思科、华为、红帽、数据库、云计算等等_厦门微思网络的博客-CSDN博客文章浏览阅读444次。风和日丽,小微给你送福利~如果你是小微的老粉,这里有一份粉丝福利待领取...如果你是新粉关注到了小微&am…

【objectarx.net】table问题2:添加table后,保存时出错

添加table后,保存时出现以上对话框。 原因: tb.TableStyle db.Tablestyle; 对于这句代码,tb所在的数据库和db不是同一个。

java反射和注解3-仿照retrofit组装接口参数

本片文章将用反射和注解仿照retrofit只需要传入一个带有给定注解的接口,通过调用接口就能直接将传入的数据和注解进行结合,生成对应参数 1,自定义注解 对字段的修饰 Retention(RetentionPolicy.RUNTIME) Target(ElementType.PARAMETER) pu…

window配置完hosts电脑重启后莫名被还原

window配置完hosts电脑重启后莫名被还原 问题描述 之前用的好好的,这周开始出现问题。头天配置好的hosts,第二天开机后访问地址都是无法打开,后来发现是昨天hosts的配置都被还原了。原本电脑不关机,可是这几天电脑也总重启&…

Win7 SP1 x64 安装 Python 出错解决方法

1 双击安装 python-3.7.9.exe ,提示出错,log.file 显示需要 KB2533623,但在Microsoft Update Catalog 没有搜到,实验 KB4474419 也可以。 2 Microsoft Update Catalog 搜索 KB4474419 ,选择 x64 位,下载&am…

Cache学习(4):Cache分配策略Cache更新策略Cache逐出策略

Cache的数据流 常用名词 Allocation 分配Eviction 驱逐分配策略和更新策略分别为当产生Cache miss和Cache hit的时候数据流的具体行为 1 Cache分配策略(Cache Allocation Policy) Cache的分配策略是指不同情况下为数据分配Cache Line的不同行为。Cac…