一、 类
什么是类?类的特点是什么?
类: 类就是一组用来描述描述如何生成对象的代码段。类就是能创建出类实例的对象。
-
类的特点:Python中的类也是对象,只要使用关键字class,Python的解释器执行的时候就会在内存中创建一个对象,对象名就是类名。这个对象(类)自身拥有创建对象(类实例)的能力,这就是为什么称这个对象为类的原因。但是Python中的类本质上还是一个对象,所以Python中类可以:
将类赋给一个变量
可以拷贝类
可以为他增加属性
可以把类作为函数参数去传递
类是对象,因此可以动态的去创建类
-
示例:a
class Foo(object):
pass
Foo.new_aut = 'lingyue'
foo = Foo()def myClass(name): if name == 'foo': class Foo(): pass return Foo else: class Bar(): pass return Bar s = myClass('foo') x = myClass('bar')
-
类既然也是对象,那么这个类对象是谁创建的呢?
- 创建类的元类。
什么是元类?元类有那些特点?
-
元类:元类就是创建类(对象)的“东西”,即元类就是类的类,可以理解为元类就是类工厂。
def myfun():pass
class myclass(object):pass
age = 25
name = 'lingyue'
myc = myclass()print age.__class__ print name.__class__ print myfun.__class__ print myc.__class__ print age.__class__.__class__ print name.__class__.__class__ print myfun.__class__.__class__ print myc.__class__.__class__
输出结果:
<type 'int'>
<type 'str'>
<type 'function'>
<class 'main.myclass'>
<type 'type'>
<type 'type'>
<type 'type'>
<type 'type'> -
type():type()就是一个元类,type()是Python背后用来创建所有类的元类,
-
type函数:type(类名,父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值)),type函数接受一个类的描述和参数,返回一个类。
Foo = type("Foo",(object,),{'name':'lineyue_type'})
print Foo
>>> <class 'main.MyClass'>
-
type函数:type(类名,父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值)),type函数接受一个类的描述和参数,返回一个类。
"metaclass"属性是什么?这个属性有什么作用?
"metaclass"