Python 传入的字符串表示有两个参数
我正在编写一个函数,用于对类中的值进行加减,这有点问题 我正在尝试将从csv读入的值传递到add函数。这个值是一个十进制值(例如,500.00)。我已经尝试消除尾随的0,使其仅为500,这也不起作用。我不断得到:Python 传入的字符串表示有两个参数,python,integer,arguments,parameter-passing,add,Python,Integer,Arguments,Parameter Passing,Add,我正在编写一个函数,用于对类中的值进行加减,这有点问题 我正在尝试将从csv读入的值传递到add函数。这个值是一个十进制值(例如,500.00)。我已经尝试消除尾随的0,使其仅为500,这也不起作用。我不断得到: TypeError: add() takes exactly one argument (two given). 尽管我有一份书面声明确认它只是想通过500强 以下是我的功能: def add(amount): self.total = self.total + amount
TypeError: add() takes exactly one argument (two given).
尽管我有一份书面声明确认它只是想通过500强
以下是我的功能:
def add(amount):
self.total = self.total + amount
它被v.add(i)
调用,即使我将i设置为任意整数值,它仍然会导致相同的错误。我对python相对缺乏经验,所以这里可能缺少一些简单的东西。谢谢。类Myclass(对象):
class Myclass(object):
def __init__(self, total=0.):
self.total = total
def add(self, amount): # <= needs `self` parameter
self.total += amount
v = Myclass()
v.add(2.)
定义初始值(自身,总计=0):
self.total=总计
def add(self,amount):#类Myclass(对象):
定义初始值(自身,总计=0):
self.total=总计
def add(self,amount):#听起来您可能有两个问题:
方法的正常定义假定“自”参数
def添加(自身、金额):
如果您试图删除尾随的零,则似乎正在处理字符串。
您可能希望/需要将字符串值“500.00”转换为浮点值
self.total=self.total+浮动(金额)
如果您试图将字符串添加到数字中,Python会抱怨。您可以使用type()函数查看保存在变量中的对象的类型。例如,您可能希望在add()方法中打印'amount'参数的类型,如下所示(用于调试):
它将向您显示您拥有的内容(str、int等)
(顺便说一句,最好在方法之外进行转换,让方法只接受数值表示金额。)听起来您可能有两个问题:
方法的正常定义假定“自”参数
def添加(自身、金额):
如果您试图删除尾随的零,则似乎正在处理字符串。
您可能希望/需要将字符串值“500.00”转换为浮点值
self.total=self.total+浮动(金额)
如果您试图将字符串添加到数字中,Python会抱怨。您可以使用type()函数查看保存在变量中的对象的类型。例如,您可能希望在add()方法中打印'amount'参数的类型,如下所示(用于调试):
它将向您显示您拥有的内容(str、int等)
(顺便说一句,最好在方法之外进行转换,让方法只接受数值表示金额。)尝试在金额
参数之前添加self
。另外,尝试使用v()。改为添加(i)
。尝试在数量
参数之前添加一个self
。另外,尝试使用v()。改为添加(i)
。点击。谢谢,我就知道这很傻。我没有把它放在那个功能上,而是一直忽略它。我会接受的,延迟到了!完全正确谢谢,我就知道这很傻。我没有把它放在那个功能上,而是一直忽略它。我会接受的,延迟到了!
print "the type of amount is", type(amount)