zoukankan      html  css  js  c++  java
  • 面向对象(五)——isinstance与issubclass、反射、内置方法

    isinstance与issubclass、反射、内置方法

    一、isinstance与issubclass方法

    1、isinstance是用来判断对象是否是某个类

      isinstance(obj,class)

    2、issubclass是用来判断一个类是否为另一个类的子类

      issubclass(Bar,Foo)

     1 class Foo:
     2     pass
     3 
     4 
     5 class Bar(Foo):
     6     pass
     7 
     8 
     9 obj = Foo()
    10 print(isinstance(obj, Foo))      # True
    11 
    12 print(issubclass(Bar, Foo))      # True
    isinstance与issubclass

    二、反射

    1、什么是反射

    通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射)

    2、四个反射函数

    name必须用字符串表示

    hasattr(object,name)   # 判断object中有没有一个name字符串对应的方法或属性
    
    setattr(object,name, value)         # 设置object对象的name属性的值问value
    
    getattr(object,name,None)         # 获取object对象的name属性的值,若没有那么属性,则返回None
    
    delattr(object,name)            # 删除object对象的name属性
     1 class Foo:
     2     pass
     3 
     4 
     5 obj = Foo()
     6 setattr(obj, 'name', 'tom')
     7 setattr(obj, 'age', 19)
     8 print(obj.__dict__)     # {'name': 'tom', 'age': 19}
     9 
    10 print(hasattr(obj, 'name'))         # True
    11 
    12 print(getattr(obj, 'name'))      # tom
    13 print(getattr(obj, 'name1', None))        #None
    14 
    15 delattr(obj,'name')  
    16 print(obj.__dict__)         # {'age': 19}
    View Code

    三、内置方法

    http://www.cnblogs.com/linhaifeng/articles/6204014.html#_label3

  • 相关阅读:
    渐变
    阴影
    html+css
    background用法
    语言特点
    h5c3介绍
    js的组成
    第九章 查找文件或者命令
    第八章 查看文件内容命令
    第七章 文件管理之基础命令
  • 原文地址:https://www.cnblogs.com/linagcheng/p/9526310.html
Copyright © 2011-2022 走看看