Mi a kötetlen helyi hiba a pythonban?


Legjobb válasz

Lásd ezt a kódot.

  1. számláló = 0
  2. def növekmény ():
  3. számláló + = 1
  4. növekmény ()

A Pythonnak nincsenek változó deklarációi, ezért magának kell kitalálnia a változók körét. Ezt egy egyszerű szabály szerint teszi: Ha van hozzárendelés a egy függvényen belüli változó, az a változó lokálisnak tekinthető. Így a

számláló + = 1

a számlálót implicit módon lokálissá teszi az inkrementumhoz (). Bár megpróbálja végrehajtani ezt a sort, megpróbálja elolvasni a helyi változó számlálójának értékét, mielőtt hozzárendelnék. egy UnboundLocalError-ban.

Az ilyen típusú hibák megoldásához hajtsa végre a következő változtatásokat.

  1. számláló = 0
  2. def növekmény ():
  3. globális számláló
  4. számláló + = 1
  5. növekmény ()

Minden jót!!

Válasz

Az UnboundLocalError felvetődik, amikor egy helyi változóra hivatkoznak, mielőtt még meg lett volna adva hozzárendelve.

Ez a NameError egyik alosztálya

Ez azt jelenti, hogy van olyan azonosítója, amelyet megpróbált elérni, mielőtt hozzárendelték volna, vagy esetleg deklarálták volna.

Az egyik a nyelvek sok baja gyenge gépelési szemantika, többszörös öröklődés és közös alaposztály vagy protokoll nélkül.

Ott i s túlságosan támaszkodik azokra a kivételekre, ahol az önellenőrzés és a fordító következtetései informatívabbak lehetnek a kód futtatása előtt.

Amit úgy gondol, hogy a karakterek beírásakor spórol, hogy érvényesüljön a kódja, verem nyomkövetéssel fizet. .

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük