Python之反射

        在Python中,反射(Reflection)允许程序在运行时检查和修改其自己的结构或行为。具体来说,反射可以包括以下几个方面的操作:

  1. 获取对象的信息:比如对象的类型、对象的属性、对象的方法等。
  2. 动态调用对象的方法:通过字符串形式的方法名来调用对象的方法。
  3. 动态创建或修改对象:在运行时创建新的对象或修改已有对象的属性或方法。

代码示例如下:

class Person(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def info(self):
        print("姓名:" + self.name + ",年龄:" + str(self.age))


if __name__ == '__main__':
    person = Person('张三', 18)
    person.info()
    print("######################")
    # 获取对象的类型及对象下所有的属性和方法
    print(type(person))
    print(dir(person))
    # 判断Person类中是否有name这个属性
    print("######################")
    print(hasattr(person, "name"))
    print(hasattr(person, "age"))
    print("######################")
    # 获取person类中的name和age属性值
    print(getattr(person, "name"))
    print(getattr(person, "age"))
    print("######################")
    # 对person类中的属性设置值
    setattr(person, "name", "李四")
    # 给person类设置一个新属性
    setattr(person, "sex", "男")
    print(person.sex)
    person.info()
    print("######################")
    # 删除类中的属性
    print(delattr(person, "age"))
    person.info()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值