前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >isinstance/type/issubclass的用法,反射(hasattr,getattr,setattr,delattr)

isinstance/type/issubclass的用法,反射(hasattr,getattr,setattr,delattr)

作者头像
小小咸鱼YwY
发布2019-07-24 15:54:42
3320
发布2019-07-24 15:54:42
举报
文章被收录于专栏:python-爬虫python-爬虫

面向对象的高阶

1.isinstance/type/issubclass

1.type

显示对象的类,但是不会显示他的父类

2.isinstance

会显示的对象的类,也会去找对象的父类,填写参数是对象,类isinstance(对象,类)如果对象属于后面的类会报Ture,反之False

3.issubclass

与isinstance 相似不过他填写的参数是类与类

4.总结

来说:type(对象)不会认为子类是一种父类类型;isinstance(对象,类)会认为子类是一种父类类型。

2.反射(hasattr,getattr,setattr,delattr)

  • 反射就是通过字符串来操作类或者对象的属性
  • 反射本质就是在使用内置函数,其中反射有以下四个内置函数: 1. hasattr:判断一个方法是否存在与这个类中 2. getattr:根据字符串去获取obj对象里的对应的方法的内存地址,加"()"括号即可执行 3. setattr:通过setattr将外部的一个函数绑定到实例中 4. delattr:删除一个实例或者类中的方法

1.hasattr

用法: print(hasattr(对象,对象的方法或者特征),)后面内容必须为字符串的格式,如果有返回True,没有返回False

2.getattr

用法: print(getattr(对象,对象的方法或者特征)),后面内容必须为字符串的格式,后面的内容必须对象有的,也返回其特征对应的内容

3.setattr

用法:setattr(YwY,',对象的方法或者特征,对应的值) , 如果没有该特征或者方法会新增,如果有则替换

4.delattr

用法:delattr(YwY,',对象的方法或者特征),删除对象拥有的方法或者特征

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 面向对象的高阶
    • 1.isinstance/type/issubclass
      • 1.type
      • 2.isinstance
      • 3.issubclass
      • 4.总结
    • 2.反射(hasattr,getattr,setattr,delattr)
      • 1.hasattr
      • 2.getattr
      • 3.setattr
      • 4.delattr
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档