Python学习总结,未完成,不断更新

#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


你可能感兴趣的:(Decorator,python,object,Class,lambda,fun)