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

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

概述call方法,对象后面加括号,触发执行  #特别不常用classPerson:def__init__(self,name):self.name=namedef__call__(cls,*args,**kwargs):print(cls,*args,**kwargs)p=Person("jack")p()#触发执行call方法Person()#触发执行

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动态创建类全部内容,希望文章能够帮你解决学习python第十三天 call方法、type动态创建类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1187692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存