这是我的代码:
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']
谢谢
首先想到的是:你为什么不使用课程呢?
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.