码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象之元类介绍

时间:2018-10-11 23:51:36      阅读:39      评论:0      收藏:0      [点我收藏+]

标签:alt   命令   code   指定   使用   全局   命令使用   容器类   python   

标签(空格分隔): 元类介绍


元类介绍:

在正式介绍元类之前,大家储备一下知识:exec;

  • exec命令使用
    这个命令有三个参数:
    1.字符串形式的命令,(把字符串提取出来)
    2.全局作用域;(字典形式,如果不指定,默认使用globals())
    3.局部作用域,(字典形式,如果不指定默认locals)
g={'x':1,
'y':2}
l={}
exec("""
global x,m
x=10
m=100

z=3
""",g,l)
print(g)
#print(l)
  • exec就是一个函数的执行;这里大家记住,后边我们会用到;

python中一切皆是对象,对象可以怎么用?

1.都可以被引用;x=obj
2.第二点,都可以当做函数的参数传入;
3.都可以当做函数的返回值
4.都可以当做容器类型的元素;(就是盛多个值,例如字典,列表)

class Foo:#类也是对象
    pass
obj= Foo()
print(type(obj))
print(type(Foo))

执行结果:
<class main,Foo>
<class ‘type‘>

  • 元类的概念:
    向上述的例子可以发现:Foo也是一个对象,在python中一切都是对象,从这里可以看出:类的类,就是被称为元类:<class ‘type‘>

技术分享图片
技术分享图片

如下:是通过元类定义的一个chinese类:
技术分享图片

  • 一句话:元类就是原始的类,就是类的类

面向对象之元类介绍

标签:alt   命令   code   指定   使用   全局   命令使用   容器类   python   

原文地址:https://www.cnblogs.com/surewing/p/9775601.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!