Mikä on sitoutumaton paikallinen virhe pythonissa?


Paras vastaus

Katso tämä koodi.

  1. laskuri = 0
  2. def inkrementti ():
  3. laskuri + = 1
  4. lisäys ()

Pythonilla ei ole muuttujailmoituksia, joten sen on selvitettävä muuttujien laajuus itse. Se tehdään yksinkertaisella säännöllä: Jos funktion sisällä oleva muuttuja, kyseistä muuttujaa pidetään paikallisena. Siten rivi

laskuri + = 1

tekee laskurin epäsuorasti kasvuksi (). Yritä kuitenkin suorittaa tämä rivi yrittää lukea paikallisen muuttujan laskurin arvo ennen sen määrittämistä. kohteessa UnboundLocalError.

Tämäntyyppisen virheen ratkaisemiseksi tee seuraavat muutokset.

  1. laskuri = 0
  2. def lisäys ():
  3. yleislaskuri
  4. laskuri + = 1
  5. lisäys ()

Hyvää …!

Vastaus

UnboundLocalError herätetään, kun paikalliseen muuttujaan viitataan ennen kuin siihen on viitattu. määritetty.

Se on NameError-alaluokka

Se tarkoittaa, että sinulla on tunniste, jota yritit käyttää ennen kuin se on määritetty tai ehkä ilmoitettu.

Yksi seuraavista monet kielen ongelmat ilman heikkoa kirjoitussemantiikkaa, useita perintöjä eikä yhteistä perusluokkaa tai protokollaa.

Siellä i Liian paljon riippuvuutta poikkeuksista, joissa introspektio ja kääntäjän päätelmät voisivat olla informatiivisempia ennen kuin koodi voisi toimia.

Mitä luulet tallentavan merkkien kirjoittamiseen, jotta koodissasi olisi vahvistus, maksat pinojäljillä .

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *