带有*args的Python TypeError

带有*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

请原谅我的无知,我是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)
我得到以下错误:

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)