V tomto článku budeme diskutovat o tom, jak opravit chybu syntaxe, která v Pythonu následuje poziční argument následuje argument klíčového slova
Argument je hodnota poskytnutá funkci při volání této funkce. Podívejte se například na níže uvedený program –
Krajta
# function> def> calculate_square(num):> >return> num>*> num> > > # call the function> result>=> calculate_square(>10>)> print>(result)> |
pořadí podle náhodného sql
>
>Výstup
100>
The vypočítat_čtverec() funkce přijímá argument na jednom což je celočíselný nebo desetinný vstup, vypočítá druhou mocninu čísla a vrátí hodnotu.
Klíčové slovo a poziční argumenty v Pythonu
Existují dva druhy argumentů, a to klíčové slovo a poziční. Jak název napovídá, argument klíčového slova je identifikován funkcí založenou na nějakém klíči, zatímco poziční argument je identifikován na základě jeho pozice v definici funkce. Pojďme se na to podívat na příkladu.
Krajta
# function> def> foo(a, b, c>=>10>):> >print>(>'a ='>, a)> >print>(>'b ='>, b)> >print>(>'c ='>, c)> > > # call the functions> print>(>'Function Call 1'>)> foo(>2>,>3>,>8>)> print>(>'Function Call 2'>)> foo(>2>,>3>)> print>(>'Function Call 3'>)> foo(a>=>2>, c>=>3>, b>=>10>)> |
>
>
Výstup:
Function Call 1 a = 2 b = 3 c = 8 Function Call 2 a = 2 b = 3 c = 10 Function Call 3 a = 2 b = 10 c = 3>
Vysvětlení:
- Během prvního volání funkce jsme poskytli 3 argumenty s libovolným klíčovým slovem. Python interpretován v pořadí, jak byly definovány ve funkci, která zvažuje pozici těchto klíčových slov.
- Ve druhém volání funkce jsme poskytli 2 argumenty, ale přesto je výstup zobrazen, protože jsme poskytli 2 poziční argumenty a funkce má výchozí hodnotu pro konečný argument C . Takže bere v úvahu výchozí hodnotu pro konečný argument.
- Ve třetím volání funkce jsou poskytnuty tři argumenty klíčových slov. Výhodou poskytnutí tohoto argumentu klíčového slova je, že si nemusíte pamatovat pozice, ale pouze klíčová slova, která jsou vyžadována pro volání funkce. Tato klíčová slova mohou být poskytnuta v libovolném pořadí, ale funkce je bude brát jako páry klíč-hodnota a nikoli v pořadí, v jakém jsou předávány.
SyntaxError: argument pozice následuje argument klíčového slova
Ve výše uvedených 3 případech jsme viděli, jak může python interpretovat hodnoty argumentů, které jsou předávány během volání funkce. Nyní se podívejme na níže uvedený příklad, který vede k a Chyba syntaxe .
Krajta
oříznutí řetězce javascript
# function definition> def> foo(a, b, c>=>10>):> >print>(>'a ='>, a)> >print>(>'b ='>, b)> >print>(>'c ='>, c)> > ># call the function> print>(>'Function Call 4'>)> foo(a>=>2>, c>=>3>,>9>)> |
>
>
Výstup:
File '', line 7 foo(a=2, c=3, 9) ^ SyntaxError: positional argument follows keyword argument>
Vysvětlení:
V tomto příkladu došlo k chybě kvůli způsobu, jakým jsme předali argumenty během volání funkce. Chybový poziční argument následuje argument klíčového slova znamená, že pokud je ve volání funkce použit jakýkoli argument klíčového slova, pak by měl být vždy následován argumenty klíčového slova. Poziční argumenty lze zapsat na začátek před předáním jakéhokoli argumentu klíčového slova. Tady, a=2 a c=3 jsou argumenty klíčových slov. 3. argument 9 je poziční argument. To nemůže python interpretovat, pokud jde o to, který klíč má jakou hodnotu. Python v tomto ohledu funguje tak, že nejprve zmapuje poziční argument a poté jakýkoli argument klíčového slova, pokud je přítomen.
Jak se vyhnout chybě – závěr
