我试图在python中使用这段代码:
class A:
func = lambda: "go away"
@classmethod
def apply(cls):
cls.func()
A.apply()
我收到此错误:
unbound method <lambda>() must be called with A instance as first argument (got nothing instead)
我怎样才能让它发挥作用?
答案 0 :(得分:0)
执行apply(A)
有效。但是,您还需要使用func
解决问题。
答案 1 :(得分:0)
所以这里有一堆问题。我不确定你想要实现什么,但你必须再看看文档。
首先,看看你的课程。
在里面你想要指定一个函数,Python使用def func(args)
方法。如果要在类中使用它,则应使用self
作为参数。
来自文档:
class MyClass:
"""A simple example class"""
i = 12345
def f(self):
return 'hello world'
此外,lambda
,在单词中是匿名函数。定义它时,您应该执行以下操作:
s = lambda x: x**2
s(2)
和x
将是您的函数参数,并且x**2
您要返回的内容,因此该函数将返回4.
希望它能减少一些混乱,你会以更好的方式编写代码。祝你好运!