logo

Як виправити: SyntaxError: позиційний аргумент слідує за аргументом ключового слова в Python

У цій статті ми обговоримо, як виправити синтаксичну помилку, коли позиційний аргумент слідує за ключовим аргументом у Python

Аргумент — це значення, яке надається функції під час виклику цієї функції. Наприклад, подивіться на наведену нижче програму –



Python






# function> def> calculate_square(num):> >return> num>*> num> > > # call the function> result>=> calculate_square(>10>)> print>(result)>



архітектура пружинного завантаження
>

>

Вихід

100>

The Calculator_Square() функція приймає аргумент на одному який є цілим або десятковим введенням, обчислює квадрат числа та повертає значення.

Ключові слова та позиційні аргументи в Python

Існує два типи аргументів, а саме ключові та позиційні. Як випливає з назви, аргумент ключового слова визначається функцією на основі деякого ключа, тоді як позиційний аргумент визначається на основі його позиції у визначенні функції. Давайте розглянемо це на прикладі.

Python




# 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>)>

>

>

Вихід:

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>

Пояснення:

  1. Під час першого виклику функції ми надали 3 аргументи з будь-яким ключовим словом. Python інтерпретується в тому порядку, в якому вони були визначені у функції, яка розглядає положення цих ключових слів.
  2. У другому виклику функції ми надали 2 аргументи, але результат все одно відображається, оскільки ми надали 2 позиційні аргументи, а функція має значення за замовчуванням для останнього аргументу в . Таким чином, він бере до уваги значення за замовчуванням для останнього аргументу.
  3. У третьому виклику функції надаються три ключові аргументи. Перевага надання цього ключового аргументу полягає в тому, що вам не потрібно запам’ятовувати позиції, а лише ключові слова, необхідні для виклику функції. Ці ключові слова можна надавати в будь-якому порядку, але функція сприйматиме їх як пари ключ-значення, а не в тому порядку, у якому вони передаються.

SyntaxError: позиційний аргумент слідує за аргументом ключового слова

У наведених вище 3 випадках ми побачили, як python може інтерпретувати значення аргументів, які передаються під час виклику функції. Тепер давайте розглянемо наведений нижче приклад, який призводить до a Синтаксична помилка .

Python


jquery одним клацанням миші



# 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>)>

>

>

Вихід:

File '', line 7 foo(a=2, c=3, 9) ^ SyntaxError: positional argument follows keyword argument>

Пояснення:

У цьому прикладі помилка сталася через те, як ми передали аргументи під час виклику функції. Помилка позиційного аргументу слідує за аргументом ключового слова означає, що якщо будь-який аргумент ключового слова використовується у виклику функції, то за ним завжди повинні слідувати аргументи ключового слова. Позиційні аргументи можна записати на початку перед передачею будь-якого аргументу ключового слова. тут, a=2 і c=3 є ключовим аргументом. 3-й аргумент 9 є позиційним аргументом. Це не може бути інтерпретовано Python як те, який ключ має яке значення. Те, як Python працює в цьому відношенні, полягає в тому, що він спочатку відображає позиційний аргумент, а потім будь-який аргумент ключового слова, якщо він присутній.

Як уникнути помилки – Висновок