函数的不定长参数和方法的不定长参数的区别

直接上代码:

 class Point():
                def printall(*args):
        for a in args:
                            print(a)

def printall(*args):
            i=0
            for a in args:
                    print(a)

a = Point()
print('这是方法的输出:')
a.printall(1,2,3,4)
print('这是函数的输出:')
printall(1,2,3,4

结果是:

 这是方法的输出:
<__main__.Point object at 0x0000027C10AE0860>
1
2
3
4
这是函数的输出:
1
2
3
4

为啥方法中的元组,第一个元素是 <__main__.Point object at 0x0000027C10AE0860>
求大神解释,以及在方法要用可变参数该怎么办

作为成员函数,第一个参数是self也就是a对象本身。后面的参数才是你传入的1234
不知道你说的怎么办,你想做什么。如果你不需要,把第一个参数略过就是了。