python 的getattr()函数、setattr()函数、hasattr()函数、delattr()函数

本文深入讲解了Python中getattr、setattr、hasattr和delattr四个函数的使用方法,通过实例演示了如何获取、设置、检查和删除对象的属性,是Python进阶学习的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

getattr函数
语法
getattr(object, name, default) 返回一个对象的属性值

object参数是一个对象
name参数是对象的属性值
default参数表示如果对象的属性值不存在,则返回这个默认值,可选

setattr(object, name, value) 没有返回值

object参数是一个对象
name参数是对象的属性值
value参数表示设置name的值

注意:如果name是已经存在的属性,那么value是修改name的值,如果name不存在,那么value是新增的name值
hasattr(object, name) 返回值是true或false

object参数是一个对象
name参数表示对象的属性或者方法,如果存在返回true,不存在返回false

delattr(object, name)

object参数是一个类名或者对象名
name参数表示属性值

class A:
	a = 1
	def __init__(self):
		self.c = 2
	def run(self):
		pass

a = A()
print(getattr(a, "a"))  # 获取a的属性值,也可以把a换成A
print(getattr(a, "d", 2))  # 属性d不存在,但是输出默认值2
输出:1
setattr(a, "a", 5)  # 把a的值设置为5
print(a.a) 
输出:5
setattr(a, "b", 8)  # 新增属性b,并且把b的值设为8
print(a.b)
输出:8
print(hasattr(a, "a"))  # 判断a对象是否有a属性
输出:True
print(hasattr(a, "run"))  # 判断a对象是否有run方法
输出:True
print(hasattr(a, "f"))  # 判断a对象是否有f属性或方法
输出:False
delattr(A, "a")  # 删除A的a属性
print(hasattr(a, "a"))
输出:False
delattr(a, "c")  # 删除a的c属性
print(hasattr(a, "c"))
输出:False 
注意:在delattr中如果删除类属性,则需要使用类对象,如果删除实例属性,需要使用实例对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值