小编Ego*_*rev的帖子

python 中的类变量在 __dict__ 中找不到

有一段代码:

class C():
    a=1
    def f(self):
        print "f func"

a=C()
print a.a
a.f()
>>> 1
>>> f func
Run Code Online (Sandbox Code Playgroud)

当我试图得到a.__dict__or时vars(a),它告诉我只是{}。但

a.b=123
print a.__dict__
>>> {'b': 123}
Run Code Online (Sandbox Code Playgroud)

我不明白,为什么会这样。

python

4
推荐指数
1
解决办法
2361
查看次数

lambda函数和Python中的函数列表

我有一系列函数,例如:

>>> def f():
...     print "f"
... 
>>> def g():
...     print "g"
... 
>>> c=[f,g]
Run Code Online (Sandbox Code Playgroud)

然后我尝试创建两个lambda函数:

>>> i=0
>>> x=lambda: c[i]()
>>> i+=1
>>> y=lambda: c[i]()
Run Code Online (Sandbox Code Playgroud)

然后,打电话给他们:

>>> x()
g
>>> y()
g
Run Code Online (Sandbox Code Playgroud)

为什么lambda中的c [i]是一样的?

python lambda

2
推荐指数
1
解决办法
457
查看次数

标签 统计

python ×2

lambda ×1