我注意到调用 python 参数的方式存在差异。在我处理过的所有其他语言中,你要么有
foo()
意思是要么没有参数,要么你喜欢多少参数,要么
foo(arg1, arg2,...,argn)
在其中传入相同数量的参数来定义函数并调用它。然而,在 python 中,我注意到函数定义和调用函数时可以有两个不同的参数集,这通常包括:
class foo(object):
def bar(self, arg1, arg2):
pass
然而,当我想调用函数时,我所要做的就是:
zoo = foo()
zoo.bar(arg1, arg2)
self参数哪里去了?
谢谢。
请您参考如下方法:
Where did the self parameter go?
当您调用该函数时,它位于点的前面,即在您的情况下它是 zoo。
请注意,您也可以将函数调用为 foo.bar(zoo, arg1, arg2)。基本上在 python 中 object.method(arguments) 是 objects_class.method(object, arguments) 的快捷方式。
