Far*_*han 1 python typeerror python-3.x positional-argument
我创建了一个Python类:
class calculator:
def addition(self,x,y):
added = x + y
print(added)
def subtraction(self,x,y):
sub = x - y
print(sub)
def multiplication(self,x,y):
mult = x * y
print(mult)
def division(self,x,y):
div = x / y
print(div)
Run Code Online (Sandbox Code Playgroud)
现在,当我像这样调用该函数时:
calculator.addition(2,3)
Run Code Online (Sandbox Code Playgroud)
我收到错误:
addition() 缺少 1 个必需的位置参数:'y'
问题是什么?我可以这样称呼它的解决方案是什么addition(2,3)?
小智 6
Python 的类具有三种类型的方法:
\n实例方法必须将实例对象作为第一个参数传递给该方法,如下所示self:
class calculator:\n \n def addition(self, x, y):\n added = x + y\n print(added)\n\nc = calculator() \nc.addition(2, 3)\nRun Code Online (Sandbox Code Playgroud)\n类方法使用classmethod装饰器,并且必须将类对象作为第一个参数传递给方法,如下所示cls:
class calculator:\n \n @classmethod\n def addition(cls, x, y):\n added = x + y\n print(added)\n \ncalculator.addition(2, 3)\nRun Code Online (Sandbox Code Playgroud)\n静态方法\xe2\x80\x99并不重要,只需添加一个staticmethod装饰器,例如:
class calculator:\n \n @staticmethod\n def addition(x, y):\n added = x + y\n print(added)\n \ncalculator.addition(2, 3)\nRun Code Online (Sandbox Code Playgroud)\n因此,如果您只想使用像calculator.addition(2, 3).
| 归档时间: |
|
| 查看次数: |
11769 次 |
| 最近记录: |