Python 包含self时,只接受2个参数(给定1个)
每次我调用我的函数def helloself时,我都会得到一个错误:只接受给定的2个参数,所以我该怎么办 或者是否有其他方法可以执行此操作:self.statusitem.setImage\u self.iconsuccess 编辑: 我的代码的简单表示Python 包含self时,只接受2个参数(给定1个),python,self,Python,Self,每次我调用我的函数def helloself时,我都会得到一个错误:只接受给定的2个参数,所以我该怎么办 或者是否有其他方法可以执行此操作:self.statusitem.setImage\u self.iconsuccess 编辑: 我的代码的简单表示 Class A: func_in_class_B(value) Class B: def finishLaunching(self): self.statusitem.setImage_(self.icon) def func_i
Class A:
func_in_class_B(value)
Class B:
def finishLaunching(self):
self.statusitem.setImage_(self.icon)
def func_in_class_B(self,value)
self.statusitem.setImage_(self.iconsuccess)
类A是一个后台线程,类B是我的主线程,我想操作'self.statusitem.setImage_self.icon听起来你没有正确调用hello函数。给定以下类定义:
class Widget(object):
def hello(self, value):
print("hello: " + str(value))
您可能像这样调用静态函数:
Widget.hello(10)
widget = Widget()
widget.hello(10)
这意味着没有小部件类的实例作为第一个参数传递。您需要将hello函数设置为静态:
class Widget(object):
@staticmethod
def hello(value):
print("hello: " + str(value))
Widget.hello(10)
或者在一个特定的对象上调用它,如下所示:
Widget.hello(10)
widget = Widget()
widget.hello(10)
这很可能是因为hello函数不是类成员。在这种情况下,您不需要在方法声明中提供self。与其说他自己,不如说他自己 例如,这段代码非常好用
def hello(value):
print 'Say Hello to ' + value
hello('him')
如果不是这样,请提供您的代码片段以进一步帮助您。如何称呼hello?我想您需要向我们展示更多的代码。hello如何与self.statusitem.setImage匹配。。。?这些想法是如何联系在一起的?hello是定义为类上的一个方法,还是一个常规函数?添加了一个简单的代码表示法删除self引用,因为第一个参数不会使函数成为静态的,self只是第一个参数的名称。使用staticmethoddecoratorinstead@Kos啊,我从来没有在python中设置过静态函数。请随意编辑答案,使其准确无误。