面向对象高级特性之--自省机制

本文深入探讨了编程中的自省概念,特别是在Python等语言中的应用。自省允许程序员在运行时检查对象的类型、属性和方法,提供了极大的灵活性。文章详细介绍了Python中用于自省的常用函数,如dir(), type(), hasattr(), setattr(), getattr(), delattr()和isinstance(),并展示了如何使用这些函数来增强代码的动态性和可维护性。

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

1.定义

  • 在日常生活中,自省(introspection)是一种自我检查行为
  • 在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么,它知道什么以及它能做什么。自省向程序员提供了极大的灵活性和控制力
  • 例如python、Ruby、object-C,C++都有自省的能力,在这里的C++的自省的能力最弱,只能知道是什么类型,而像python可以知道是什么类型,还有什么属性

2.python中比较常见的自省机制(函数用法)

**dir()**查看某个变量是什么,方法有什么
**type()**查看对象类型是什么
**hasattr(s,’’,’’)**查看s对象是否有某个属性,属性写为字符串
setattr(object,name,value) 修改object的属性name,值为value
getattr(object,name,value) 获取object的属性name,值为value
delattr(object,name,value) 删除某个属性
isinstance(object,name,value) 判断对象的是否是某个类型
通过这些函数,我们能够在程序运行时得知对象的类型,判断对象是否存在某个属性,访问对象的属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值