类的特殊方法

类的特殊方法:
    __doc__:        类的描述 print(__doc__)可查看描述的类信息 
    __module__   输出模块路径,从哪个模块导入
    __class__        输出对象属于哪个类
    __call__          对象后面加括号直接可触发执行方法,可传参或类名()()也可触发执行
    __dict__         打印类中所有属性,不包括实例属性
    __str__  如果定义该方法,打印对象、时默认输出方法返回值

type()查看当前元素类型,类就是用type封装建造的
type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。
      用type创建类:
      可以通过type赋值创建一个类,并创建实例,
      class type(name, bases, dict)
      参数
      name -- 类的名称。
      bases -- 基类的元组。
      dict -- 字典,类内定义的命名空间变量。
示例:
      def aaa(self):   #创建一个函数 实例调用方法时必须有self ,所以参数要写self
          pass
    FOO=type("foo",(object,),{"bbb":"aaa"})  #object 可以不写,写了一定要带逗号,以字典的形式写入健:实例要调用的名称,值:函数方法名

       #属于创建了一个FOO的类
      f=FOO() 
       #创建了FOO的实例
      f.bbb()
       #默认调用健名对应的值中函数的方法

isinstance() 函数来判断一个对象是否是一个已知的类型,如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。
     isinstance(object, classinfo)
      参数
      object -- 实例对象。
      classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。

type()与isinstance()的区别:
      共同点:两者都可以判断对象类型 
      不同点:对于一个 class 类的子类对象类型判断,type就不行了,而 isinstance 可以。
  type()不会认为子类是一种父类类型,不考虑继承关系
  isinstance()会认为子类是一种父类类型,考虑继承关系。
  如果要判断两个类型是否相同推荐使用 isinstance()。
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值