Python教程

学习python第十三天 call方法、type动态创建类

本文主要是介绍学习python第十三天 call方法、type动态创建类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

call方法,对象后面加括号,触发执行        #特别不常用

class Person:

  def __init__(self,name):

    self.name = name

  def __call__(cls,*args,**kwargs):

    print(cls,*args,**kwargs)

p = Person("jack")

p()    #触发执行call方法

Person()#触发执行call方法  

 

type创建类:

类本质是由type产生的。type(Person)输出为<class  "type">

通过type动态产生一个类:

def __init__(self,name,age)      #动态创建类,类中的函数写在外面,之后在通过type的参数引进去

  self.name = name

  self.age = age

dog_class = type("Dog", (object,),{"sex" : "male","__init__":__init__})    #引入init方法

p = dog_class("jack", 12)

 

 

isinstance(obj,cls):检查obj是否是类cls的对象   例:isinstance(p,dog_class)

issubclass(sub,super):检查sub类是否是super类的派生类  issubclass(Son,Father)

这篇关于学习python第十三天 call方法、type动态创建类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!