Python -objekt er ikke kalt feil

Python -objekt er ikke kalt feil
Objektet som ikke er kalt feil er vanlig i Python og er forårsaket når brukeren prøver å lage en variabel ved å navngi den lik et reservert nøkkelord, og dermed føre til at programmet ikke klarer å skille mellom variabelen og det reserverte nøkkelordet. Dette innlegget vil fungere som en guide og forklare årsakene og løsningen på feilen "objekt som ikke er kalt" i Python.

Årsak 1: Ugyldig navngiving av variabel i Python

Som nevnt ovenfor, kan denne feilen være forårsaket når brukeren navngir en variabel som tilsvarer et reservert nøkkelord og bruker det reserverte nøkkelordet i samme program også. Et eksempel for å demonstrere denne feilen kan gjenskapes ved hjelp av følgende kodebit:

int = 5
var1 = int (7)
for jeg i rekkevidde (1, var1):
trykk (i * 5)

Når du utfører denne koden, vil den produsere:

I dette eksemplet er feilen forårsaket fordi programmet prøver å kalle den brukeropprettede variabelen “int” som en funksjon, noe som ikke er mulig.

Løsning: Gi riktig identifikatorer til variabler

For å løse dette problemet, kan brukeren oppgi et annet navn på variabelen på første linje, og riktig kode for dette eksemplet er:

a = 5
var1 = int (7)
for jeg i rekkevidde (1, var1):
trykk (i * 5)

Når denne koden blir utført nå, vil den gi følgende resultat på terminalen:

Som du kan se at programmet har utført med suksess uten noen feil.

Årsak 2: Feil samtale til importert modulens metode

Denne feilen oppstår også når brukeren ikke er riktig ved å bruke modulens import mens den får tilgang til metodene; For å demonstrere dette, ta følgende kodebit:

Importkontakt
var1 = stikkontakt (stikkontakt.Af_inet, stikkontakt.SOCK_STREAM)
Print ("Utgangen fra sokkelvariabelen er som:")
trykk (var1)

I denne kodebiten:

  • Brukeren har importert modulen "socket" til koden
  • Denne modulen har en metode kalt som socket (), og brukeren ringer til den uten å nevne modulnavnet med en prikkoperatør

Når denne koden blir utført, gir den følgende resultat:

La oss se hvordan du fikser denne feilen.

Løsning 1: Bruk modulnavn med DOT -operatør

Vel, denne løsningen er ganske grei; Når du ringer til metoden, bruker du modulenavnet og får tilgang til metoden etter å ha brukt DOT -operatøren, slik:

Importkontakt
var1 = stikkontakt.stikkontakt (stikkontakt.Af_inet, stikkontakt.SOCK_STREAM)
Print ("Utgangen fra sokkelvariabelen er som:")
trykk (var1)

Denne gangen når koden blir utført, gir den følgende utfall på terminalen:

Som du ser, var programmet i stand til å utføre uten noen feil.

Løsning 2: Bruke fra-Import-tilnærming

Hvis du ikke ønsker å bruke modulens navn igjen gjennom hele programmet, kan du endre måten du importerer modulen i programmet ditt; og i stedet for å bruke “Importmodul,”Du kan bruke“Fra modulimport *”. Hva dette gjør er at det direkte legger til metodene for modulen i programmet ditt.

Med denne løsningen er riktig kode:

Fra sokkelimport *
var1 = socket (af_inet, sock_stream)
Print ("Utgangen fra sokkelvariabelen er som:")
trykk (var1)

Denne gangen når denne koden blir utført, vil den gi følgende utfall:

Utgangen bekrefter at feilen ble unngått vellykket.

Konklusjon

Python -feilen "Objekt er ikke kalt" er ofte forårsaket av å kalle en variabel som en funksjon/modul når den variabelen bare lagrer en enkel verdi i stedet for å være en metode. Når variabelnavnet er satt som et reservert nøkkelord for den innebygde metoden, og den innebygde metoden brukes også i samme program, forårsaker det også denne feilen. En siste vanlig grunn til denne feilen er den uriktige måten å importere en modul og kalle metoden, som er blitt forklart i denne guiden.