TypeError: div() takes 2 positional arguments but 3 were given

报错前:
class Test_Div():
   def div(a, b):
      return a / b

   def test_tree(self):

      assert self.div(4,1) ==4
if __name__ == '__main__':
    pytest.main("s", "Test_Div.py")

报错信息:

修改后:

class Test_Div():
   def div(self,a, b):
      return a / b

   def test_tree(self):

      assert self.div(4,1) ==4
if __name__ == '__main__':
    pytest.main("s", "Test_Div.py")

结果:

TypeError: div() takes 2 positional arguments but 3 were given_第1张图片

注:python的语法:self,表示创建的类实例本身,方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。在创建实例的时候,就不能传入空的参数了,必须传入与方法匹配的参数,但self不需要传,Python解释器会自己把实例变量传进去。

你可能感兴趣的:(python)