您现在的位置是:群英 > 开发技术 > Python语言
python type()如何创建类,有几种方法?
Admin发表于 2021-11-24 17:53:331465 次浏览

    这篇文章给大家分享的是关于python type()如何创建类的内容。小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。

    通常我们创建类都是使用class 类名,但是小伙伴们有没有想过,类是由谁来创建的呢,python中常说的万物皆对象,对象是由类创建的,那类本身也可以看做是对象,类可以由元类type创建

1、type动态创建类 

1.1 语法格式

type(类名,由父类名称组成的元组(可以为空),包含属性的字典(名称和值))
 

1.2 案例1:使用type创建类

Person = type("Person", (), {})
p = Person()
print(type(p))
print(Person.__name__)

结果:

<class '__main__.Person'>
Person


注意:type("Person", (), {})中的Person可以写成其他任意字符串,但是打印类的名称时,就会变成你写其他字符串了

Person = type("Per", (), {})
p = Person()
print(Person.__name__)

结果:

Per

所以为了程序代码更加友好,一般变量名和设置的类名保持统一

1.3 案例2:使用type创建带有属性(方法)的类

def show(self):
    print("展示自己")
Person = type("Person", (), {"age": 18, "name": "jkc", "show": show})
p = Person()
print(p.age)
print(p.name)
p.show()

结果:

18
jkc
展示自己

我们动态创建了一个父类为Object,属性有agename、方法为show的类

1.4 案例3:使用type动态创建一个继承指定类的类

class Animal:
    def __init__(self, color="blue"):
        self.color = color

    def eat(self):
        print("吃东西")
Dog = type("Dog", (Animal, ), {})
dog = Dog()
dog.eat()
print(dog.color)

结果:

吃东西
blue

    我们动态创建了一个继承Animal类的Dog类,可以使用Animal类的所有方法和属性

    以上就是关于python type()如何创建类,以及创建方法的介绍啦,上述示例具有一定的借鉴价值,有需要的朋友可以参考学习,希望对大家学习python 有帮助,想要了解更多可以继续浏览群英网络其他相关的文章。。

文本转载自脚本之家

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2021-12-24 18:02:08 
摘要:这篇文章我们来了解C语言中调用汇编语言的方法和操作,小编觉得挺实用的,因此分享给大家做个参考,希望能对大家学习或工作有帮助,文中示例操作介绍的很详细,感兴趣的朋友接下来一起跟随小编看看吧。
2022-09-29 17:49:46 
摘要:函数是基本的代码块,用于执行一个任务。本文详细讲解了Go语言中的函数,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-08-04 17:46:37 
摘要:Bootstrap中怎么使用Toasts组件?下面本篇文章给大家介绍一下Bootstrap5中吐司消息Toasts组件的用法,希望对大家有所帮助!
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部