python基础学习-反射

本文详细介绍了Python中的反射机制,包括如何使用hasattr(), getattr(), setattr() 和 dir() 函数来操作对象的属性和方法,展示了Python动态特性的强大。

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

所谓的反射,就是通过字符串去访问类或对象成员,比如如果一个Student类有一个name对象属性,那么就可以通过一个"name"字符串去访问student对象的name属性

如python可以通过hasattr()函数来获取一个对象是否有某个属性

>>> class Student:
def __init__(self,name,age):
self.name = name
self.age = age



>>> s = Student("xiaobing",22)
>>> print s.name
xiaobing
>>> print s.age
22
>>> hasattr(s,"name")
True
>>> hasattr(s,"sex")
False
>>> 


可以通过getattr()函数来获取对象的某个属性的值

>>> getattr(s,"name")
'xiaobing'
>>> getattr(s,"age")
22

可以通过setattr()函数去设置对象的属性的值

>>> setattr(s,"name","xiaoming")
>>> s.name
'xiaoming'
>>> 

可以通过dir()函数获取对象拥有哪些成员

>>> dir(s)
['__doc__', '__init__', '__module__', 'age', 'name']
>>> 


当然,类的函数也差不多,因为在python中类的函数和属性是同等地位的


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值