В большинстве других языков, таких как C или C ++, когда вы передаете аргументы, вы передаете их по порядку.
Например:
int my_function(string name, int size, char type)
{
...
}
int main()
{
my_function("item1", 10, 'c')
}
Так компилятор фактически организуеткод в реальном машинном коде.
В Python они делают вещи немного более высокими для программистов, поэтому вы можете сделать что-то вроде этого
def my_function(name="default", size=1, type='c'):
...
my_function(size=4, name="item1", type=d)
Обратите внимание, как вы можете вызывать функцию с аргументами в другом порядке, чемфункция была определена.
Единственный способ узнать, какое значение вы хотите передать для каждого параметра, - это использовать правильный порядок.Для 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)
Поскольку теперь он не знает, хотите ли вы установитьd
для id
или d
для type
и наоборот.
Ваш вопрос состоял в том, как узнать, в каком порядке функция хотела бы расположить аругменты. Лучший способнайти это, чтобы прочитать документацию для функции, которую вы используете.
Если вы перейдете сюда https://www.pygame.org/docs/ref/sprite.html#pygame.sprite.groupcollide
Вы можете найти pygame.sprite.groupcollide, и он дает вам аргументы функции взаказать это ожидает.Вы также можете вручную назначить затем с помощью оператора = после каждого параметра.
#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)