2019/07/25 点击:58738
" 看两个例子: a = 1def fun(a): a = 2fun(a)print a # 1 a = []def fun(a): a.append(1)fun(a)print a # [1] 所有的变量都可以理解是内存中一个对象的“引用”,或者,也可以看似c中void*的感觉。 通过`id`来看引
2019/07/25 点击:22446
这个非常的不常用,但是像ORM这种复杂的结构还是会需要的,详情请看:http://stackoverflow.com/questions/100003/what-is-a-metaclass-in-python
2019/07/25 点击:3042
" Python其实有3个方法,即静态方法(staticmethod),类方法(classmethod)和实例方法,如下: def foo(x): print ""executing foo(%s)""%(x)class A(object): def foo(self,x): print ""executing foo(%s,%s)""%(self,x) @classmethod def cla
2019/07/25 点击:4460
是可在类的所有实例之间共享的值(也就是说,它们不是单独分配给每个实例的)。例如下例中,num_of_instance 就是类变量,用于跟踪存在着多少个Test 的实例。 **实例变量:** 实例化之
2019/07/25 点击:6049
这个也是python彪悍的特性. 自省就是面向对象的语言所写的程序在运行时,所能知道对象的类型.简单一句就是运行时能够获得对象的类型.比如type(),dir(),getattr(),hasattr(),isinstance(). a = [1,2
2019/07/25 点击:2647
可能你见过列表推导时,却没有见过字典推导式,在2.7中才加入的: d = {key: value for (key, value) in iterable}
2019/07/25 点击:7500
" class MyClass(): def __init__(self): self.__superprivate = ""Hello"" self._semiprivate = "", world!"" mc = MyClass() print mc.__superprivateTraceback (most recent call last): File "" "", line 1, in AttributeError: myClass instance has no a
2019/07/25 点击:1784
" .format在许多方面看起来更便利.对于`%`最烦人的是它无法同时传递一个变量和元组.你可能会想下面的代码不会有什么问题: ""hi there %s"" % name 但是,如果name恰好是(1,2,3),它将会抛出一个
2019/07/25 点击:6019
" 这个是stackoverflow里python排名第一的问题,值得一看: http://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do-in-python 这是中文版: http://taizilongxu.gitbooks.io/stackoverflow-about-python/content/1/READ
2019/07/25 点击:3753
用`*args`和`**kwargs`只是为了方便并没有强制使用它们.当你不确定你的函数里将要传递多少参数时你可以用`*args`.例如,它可以传递任意数量的参数: def print_everything(*args): for count, thing in e