公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!

小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。

废话不多说,开始今天的题目:

问:Python实现自省的方法有哪些?

答:自省是一种自我检查行为。在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么、它知道什么以及它能做什么。自省向程序员提供了极大的灵活性和控制力。

说的更简单直白一点:自省就是面向对象的语言所写的程序在运行时,能够知道对象的类型。一句可以概况为:运行时能够获知对象的类型。

Python实现自省有很多方法,常用的有

  • type(),判断对象类型

  • dir(), 带参数时获得该对象的所有属性和方法;不带参数时,返回当前范围内的变量、方法和定义的类型列表

  • help() ,  用于查看函数或模块用途的详细说明

  • isinstance(),判断对象是否是已知类型

  • issubclass(),判断一个类是不是另一个类的子类

  • hasattr(),判断对象是否包含对应属性

  • getattr(),获取对象属性

  • setattr(), 设置对象属性

  • id(): 用于获取对象的内存地址

  • callable():判断对象是否可以被调用。

下面这张图可以收藏起来了!

具体的用法,大家可以参考下面这个链接:

https://blog.csdn.net/zjbyough/article/details/96037399

如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!

关注小猿公众号,每天学习一道题

Python实现自省的方法有哪些?相关推荐

  1. python method与function方法_学编程这么久,还傻傻分不清什么是方法(method),什么是函数(function)?...

    在编程语言中有两个很基础的概念,即方法(method)和函数(function).如果达到了编程初级/入门级水平,那么你肯定在心中已有了初步的答案. 也许在你心中已有答案了 除去入参.返回值.匿名函数 ...

  2. Python 字典(Dictionary) get()方法

    Python 字典(Dictionary) get()方法 描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: ...

  3. Python最大堆排序实现方法

    Python最大堆排序实现方法,具体代码如下:   # -*- coding: utf-8 -*-   def merge_sort(seq, cmp=cmp, sentinel=None):     ...

  4. 刻意练习:Python基础 -- Task11. 魔法方法

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  5. python操作yaml的方法详解

    这篇文章主要为大家介绍了python操作yaml的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助 一.参考链接 https://pyyaml.org/wiki/PyYAM ...

  6. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

  7. python集合(set)+常见方法+交叉并补

    python集合(set)+常见方法+交叉并补 集合的定义 定义:由不同元素组成的集合,集合是一组无序排列 可hash值,可作为字典的key. 特性:集合的目的是将不同的值存放在一起,不同的集合间用来 ...

  8. python print 的使用方法

    python print 的使用方法 视频 https://www.bilibili.com/video/BV1mK4y187zN?from=search&seid=3961255759492 ...

  9. python加号换行,Python字符串拼接六种方法介绍

    Python字符串拼接的6种方法: 1.加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用"+"来连接两个字符串: prin ...

最新文章

  1. 你动、蒙娜丽莎跟着一起动,OpenCV这么用,表情口型造假更难防了
  2. (方案汇总)批处理中畸形文件夹和畸形文件的创建、访问、删除
  3. Linux: debian/ubuntu下安装和使用Java 8
  4. java 遍历list 性能_java list三种遍历方法性能比較
  5. .NET 自定义Json序列化时间格式
  6. React入门---react脚手架
  7. Codeforces 494E. Sharti
  8. 【知识小课堂】 mongodb 之字段中的【 数组】、【内嵌文档】
  9. 大整数加法(信息学奥赛一本通-T1168)
  10. android ssl http,Android SSL HTTP请求使用自签名证书和CA
  11. 小米手机老板,雷军,肯定是假程序员
  12. Just For Fun-用java编个线性回归(一次函数拟合)的图形界面
  13. 使用ros2d.js实现web端导航
  14. chrome强烈推荐安装Octotree插件
  15. 100 个网络基础知识普及,看完成半个网络高手!
  16. C/C++编程学习 - 第22周 ② 非负数的和
  17. nginx cdn加速和反向代理
  18. 40G/100G万兆交换机如何选择?
  19. java笔试题分类集锦
  20. 4、Python量化交易-双均线策略

热门文章

  1. Eclipse全局搜索 文件搜索 IDEA全局搜索 快捷键Ctrl+Shit+F冲突 Ctrl+Alt+0 全局查询
  2. SAP ERP统驭科目
  3. 汇编语言与微机原理 期末半开卷复习整理(下)
  4. excel oledb mysql_excel连接数据库oledb
  5. Springboot企业资源管理信息系统kvonv计算机毕业设计-课程设计-期末作业-毕设程序代做
  6. 判断字符是否为字母或者数字
  7. springmvc中拦截器
  8. 阿里老兵深度雄文:不懂这些,你的复盘都是白费功夫!
  9. MiniGUI原理分析GAL
  10. 设置固定IP后无法上网