带有*args的Python TypeError
请原谅我的无知,我是Python新手,在谷歌上似乎找不到答案。也许我只是没有搜索正确的关键字 我的基本职能如下:带有*args的Python TypeError,python,Python,请原谅我的无知,我是Python新手,在谷歌上似乎找不到答案。也许我只是没有搜索正确的关键字 我的基本职能如下: class Basic(object): def Process(*values): for i in range(len(values)): value = int(values[i]) print value b = Basic() b.Process(4, 5, 6) 我得到以下错误: TypeErro
class Basic(object):
def Process(*values):
for i in range(len(values)):
value = int(values[i])
print value
b = Basic()
b.Process(4, 5, 6)
我得到以下错误:
TypeError:int()参数必须是字符串或数字,而不是“Basic”
我相信这是件简单的事情,但任何帮助都将不胜感激
谢谢您忘记将
self
作为处理的参数:
def Process(self, *values):
对,赛尔夫。实例方法应该是小写的,类不应该写:(因为我已经在写这个答案了)
啊哈!非常感谢你。我将在11分钟后接受它:)它的意思正是它所说的:传递给
int
的东西是Basic
实例,而不是字符串或数字。为什么呢?好吧,看看用什么调用int
,以及这些值从何而来。。。顺便说一下,请不要为范围(len(values))内的i编写此:
废话。你在想方设法让事情变得更难。直接迭代:获取值中的值:
。谢谢,我还在学习。我是一名c#程序员。。。所以我对更好的Python编程方法持开放态度。谢谢。
class Basic(object):
def process(self, *values):
for v in values:
v = int(v)
print v
b = Basic()
b.process(4, 5, 6)