#Decorator
@deco1(deco_arg) @deco2 def func():pass
等价于 func=deco1(deco_arg)(deco2(func))
另一种实现
def deco(fun,arg): #dosomthing return fun(arg) @deco.__get__ def fun():pass
#反射机制
dir(),type()等内建函数,或对象的一些特殊属性__dict__,__name__,__doc__
#没有提供任何内部机制来跟踪一个类有多少个实例被创建了,或者记录这些实例是些什么东西
#支持长整数类型,长度只受限于虚拟内存的大小
#支持连续比较。
#快速生成列表。
#列表支持切片操作。
#元组可以自动打包和解包。
#用zip函数同时迭代2个列表。
#支持lambda函数。
#列表解析可以省略很多for循环、map和filter函数。
#支持缺省参数,且缺省参数位置随意。
#支持参数列表和参数字典。
#支持闭包和高阶函数。
#支持运行时创建实例属性(用的时候是爽,但也要承担之后发生的一切后果
>>> class C(object): pass >>> c=C() >>> c.foo=42 >>> c.bar='Python' >>> c.__dict__ {'foo': 42, 'bar': 'Python'} >>> vars(c) {'foo': 42, 'bar': 'Python'}#对象的属性和方法可以动态改变。(要安全性上__slots__)
#对象的类型可以动态改变。
>>> class Parent(object): def foo(self): print 'call parent method' >>> class Child(Parent): def foo(self): print 'call child method' >>> o=Parent() >>> o.foo() call parent method >>> o.__class__ = Child >>> o.foo() call child method