kking1 发表于 2023-2-19 11:39:10

类里面的函数调用问题

class Task:
    def __init__(self):
      self.image_window_list = []
    def setImageWindowList(a,b):
      if (a > b):
            print(1)

    def getImageWindowList(c,d):
      return Task.setImageWindowList(c,d)
   

e = Task()
print(e.getImageWindowList(2,1))

求助大佬,为啥会报TypeError: getImageWindowList() takes 2 positional arguments but 3 were given这个错误?怎样改正可以使得e.getImageWindowList(2,1)的输出结果为1呢?

isdkz 发表于 2023-2-19 11:52:08

因为实例调用实例方法会将实例本身传递进去,所以得加个 self 形参来接收实例本身

class Task:
    def __init__(self):
      self.image_window_list = []
    def setImageWindowList(self, a,b):
      if a > b:
            return1

    def getImageWindowList(self, c,d):
      return self.setImageWindowList(c,d)
   

e = Task()
print(e.getImageWindowList(2,1))
页: [1]
查看完整版本: 类里面的函数调用问题