首页 > 编程语言 > 详细

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

时间:2021-04-10 22:47:36      阅读:19      评论:0      收藏:0      [点我收藏+]

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动态创建类

原文:https://www.cnblogs.com/xiaoyuheng/p/14641585.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!