如何使用python在同一个dict中调用该方法

zjm*_*126 1 python dictionary

这是我的代码:

a= {'u': lambda x: x*x,'b':self.u(5)}

print a['u'](5)
print a['b']
Run Code Online (Sandbox Code Playgroud)

但它显示错误:

Traceback (most recent call last):
  File "a.py", line 6, in <module>
    a= {'u': lambda x: x*x,'b':self.u(5)}
NameError: name 'self' is not defined
Run Code Online (Sandbox Code Playgroud)

那么如何打印['b']

谢谢

Dav*_*d Z 5

首先想到的是:你为什么不使用课程呢?

class A:
    def u(x):
        return x*x
    def b():
        return self.u(5)
a = A()
Run Code Online (Sandbox Code Playgroud)

第二个想法:如果你真的必须用字典做(但是真的,你必须吗?),试试这个:

a = {'u': lambda x: x*x}
a['b'] = a['u'](5)
Run Code Online (Sandbox Code Playgroud)

由于您没有实现对象的方法,因此没有self.