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

来源:互联网 发布:内外网转换软件 编辑:程序博客网 时间:2024/06/01 09:11

#Decorator

@deco1(deco_arg)@deco2def 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