logo

Kako popraviti: SyntaxError: pozicijski argument sledi argumentu ključne besede v Pythonu

V tem članku bomo razpravljali o tem, kako popraviti sintaktično napako, ki v Pythonu pozicijski argument sledi argumentu ključne besede

Argument je vrednost, ki je dodeljena funkciji, ko to funkcijo pokličete. Na primer, poglejte spodnji program –



Python






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



tipi referenčnih podatkov v Javi
>

>

Izhod

100>

The izračunaj_kvadrat() funkcija sprejme argument na enem ki je celo število ali decimalni vnos, izračuna kvadrat števila in vrne vrednost.

Ključne besede in pozicijski argumenti v Pythonu

Obstajata dve vrsti argumentov, in sicer ključni in pozicijski. Kot že ime pove, je argument ključne besede identificiran s funkcijo, ki temelji na nekem ključu, medtem ko je pozicijski argument identificiran na podlagi svojega položaja v definiciji funkcije. Oglejmo si to na primeru.

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

>

>

Izhod:

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>

Pojasnilo:

  1. Med prvim klicem funkcije smo podali 3 argumente s poljubno ključno besedo. Python interpretira po vrstnem redu, kako so bile definirane v funkciji, ki upošteva položaj teh ključnih besed.
  2. V drugem klicu funkcije smo zagotovili 2 argumenta, vendar je rezultat vseeno prikazan, ker smo zagotovili 2 pozicijska argumenta in ima funkcija privzeto vrednost za končni argument c . Torej za končni argument upošteva privzeto vrednost.
  3. V tretjem klicu funkcije so na voljo trije ključni argumenti. Prednost zagotavljanja tega argumenta ključne besede je, da si ni treba zapomniti položajev, ampak le ključne besede, ki so potrebne za klic funkcije. Te ključne besede je mogoče navesti v poljubnem vrstnem redu, vendar jih bo funkcija vzela kot pare ključ-vrednost in ne v vrstnem redu, v katerem so bile posredovane.

SyntaxError: pozicijski argument sledi argumentu ključne besede

V zgornjih treh primerih smo videli, kako lahko python interpretira vrednosti argumentov, ki se posredujejo med klicem funkcije. Zdaj pa si oglejmo spodnji primer, ki vodi do a SyntaxError .

Python


preglasitev metode java



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

>

>

Izhod:

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

Pojasnilo:

V tem primeru je do napake prišlo zaradi načina, na katerega smo posredovali argumente med klicem funkcije. Pozicijski argument napake sledi argumentu ključne besede pomeni, da če je v klicu funkcije uporabljen kateri koli argument ključne besede, mu morajo vedno slediti argumenti ključne besede. Pozicijske argumente je mogoče zapisati na začetku, preden je posredovan kateri koli argument ključne besede. tukaj, a=2 in c=3 so argument ključne besede. 3. argument 9 je pozicijski argument. Python tega ne more razložiti glede na to, kateri ključ ima kakšno vrednost. Python v zvezi s tem deluje tako, da bo najprej preslikal pozicijski argument in nato kateri koli argument ključne besede, če je prisoten.

Kako se izogniti napaki – Zaključek