7.元类(type)、类的创建方式

元类

class Person:
   pass

p = Person()
n = 10
s = "abc"
print(p.__class__, n.__class__, s.__class__)		#	输出为:<class '__main__.Person'> <class 'int'> <class 'str'>

å¨è¿éæå¥å¾çæè¿°

print(int.__class__, str.__class__, Person.__class__)	#	输出为:<class 'type'> <class 'type'> <class 'type'>

å¨è¿éæå¥å¾çæè¿°type是元类,所有类是由元类实例化出的。

 

类的创建方式

方式1

class Person:
   num = 10
   def abc(self):
       pass

方式2

    type(name:str, Tuple[type, ...], dict:Dict[str, Any])

    第一个参数为所创建类的名称。第二个参数为所继承的类,可不填。第三个参数为存放类属性、方法的字典。

Animal = type("Animal", (), {"name": "abc", "age":8})

d = type("Dog", (Animal, ), {"name": "abc", "age":5})		#	继承了类Animal

å¨è¿éæå¥å¾çæè¿°

# 可以查询类属性
print(Animal.name)					#	输出为:abc
print(d.age)						#	输出为:5


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值