小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
废话不多说,开始今天的题目:
问:Python实现自省的方法有哪些?
答:自省是一种自我检查行为。在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么、它知道什么以及它能做什么。自省向程序员提供了极大的灵活性和控制力。
说的更简单直白一点:自省就是面向对象的语言所写的程序在运行时,能够知道对象的类型。一句可以概况为:运行时能够获知对象的类型。
Python实现自省有很多方法,常用的有
- type(),判断对象类型
- dir(), 带参数时获得该对象的所有属性和方法;不带参数时,返回当前范围内的变量、方法和定义的类型列表
- help() , 用于查看函数或模块用途的详细说明
- isinstance(),判断对象是否是已知类型
- issubclass(),判断一个类是不是另一个类的子类
- hasattr(),判断对象是否包含对应属性
- getattr(),获取对象属性
- setattr(), 设置对象属性
- id(): 用于获取对象的内存地址
- callable():判断对象是否可以被调用。
下面这张图可以收藏起来了!
具体的用法,大家可以参考下面这个链接:
如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!