在大多数其他语言,如C或C++中,当你传递参数时,你会按顺序传递它们。在
例如:int my_function(string name, int size, char type)
…
int main()
my_function(“item1”, 10, ‘c’)
这就是编译器在实际机器代码中实际组织代码的方式。在
在Python中,它们为程序员提供了一个更高的层次,所以您可以这样做
^{pr2}$
请注意,如何使用不同于函数定义顺序的参数调用函数。在
要知道要传递给每个参数的值的唯一方法是使用正确的顺序。对于python,可以通过对调用中的参数使用赋值运算符来解决这个问题(例如size=2)。在
一旦以与函数定义方式不同的顺序执行调用,就必须显式声明为以下所有参数指定的参数。这是有意义的,因为您现在调用了无序的函数,它需要知道您所引用的参数。在
例如,您可以这样做:def my_function(name, size, type, id):
…
my_function(“item1”, size=4, type=d, id=3)
但你不能这样做:my_function(“item1”, size=4, d, 3)
因为它现在不知道是要为id设置d,还是为{}设置{},反之亦然。在
你的问题是如何知道函数希望排列的顺序。找到这个问题的最好方法是阅读所使用函数的文档。在
你可以找到pygame.sprite.groupcollide它按照它期望的顺序给你函数参数。您也可以在每个参数后使用=运算符手动分配then。在#documentation found online
pygame.sprite.groupcollide()
Find all sprites that collide between two groups.
groupcollide(group1, group2, dokill1, dokill2, collided = None)
例如,在代码中可以调用:pygame.sprite.groupcollide(group1=bullets, group2=aliens, dokill1=True, dokill2=True, collided = None)
Original: https://blog.csdn.net/weixin_30387635/article/details/113972402
Author: jRONI
Title: python参数顺序问题_为什么参数的顺序很重要?
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/782404/
转载文章受原作者版权保护。转载请注明原作者出处!