En jevn forfriskning på Pythons funksjoner

I Python kan du ha kommet over ting som fil (), print (), åpen (), rekkevidde (), etc. De kalles innebygde funksjoner. Det vil si funksjoner som allerede er gitt av språket selv som du kan utføre ved å henvise (ringer) til dem. Men hva er en funksjon uansett? Dette er hva vi skal lære i denne opplæringen, Python-måten!

funksjoner

funksjoner er sammensatt av et sett med instruksjoner kombinert sammen for å få noe resultat (oppnå litt oppgave), og utføres ved å ringe dem, nemlig av en funksjonsanrop. Resultater i Python kan enten være resultatet av noen beregning i funksjonen eller Ingen. Disse funksjonene kan enten være innebygd funksjoner (nevnt ovenfor) eller brukerdefinert funksjoner. Funksjoner definert i klasser kalles fremgangsmåter.

Definere funksjoner

Nå som vi vet hva som menes med en funksjon, la oss se hvordan vi kan definere funksjoner i Python. For å gjøre det bruker vi def setning, som har følgende syntaks: 

def funksjonnavn (parametere): setning (er) returnere uttrykk

De parametere i funksjonsdefinisjonen er valgfri, ettersom noen funksjoner ikke krever at parametere sendes på tidspunktet for funksjonssamtalen. Hvis mer enn én parameter er bestått, er parameterne skilt med komma, og de er bundet til argumenter i funksjonen som samsvarer med parametrene som er bestått. Utsagnene (funksjonsorgan) utføres når funksjonen kalles.

De komme tilbake setning er en valgfri setning som tjener som utgangspunkt for funksjonen der et uttrykk kan returneres til den som ringer, eller hvis ingen uttrykk er identifisert, vil det være som å returnere en Ingen verdi.

eksempler

La oss gå gjennom noen eksempler for å forstå ideen om funksjoner mer. Du vil legge merke til at funksjonene redder oss fra å gjenta oss selv, da de gir en blokk av gjenbruk kode å ringe når vi vil utføre en vanlig oppgave som vi burde utføre.

Si at vi ønsker å vise navnet på enhver medarbeider som er angitt i systemet. Dette kan se ut som følger:

employee_name = 'Abder' def print_name (navn): utskriftsnavn print_name (employee_name) 

Som du kan se, hvis vi ønsker å ringe en funksjon, identifiserer vi bare følgende:

  • funksjonsnavn (dvs. utskriftsnavn)
  • parametere (dvs. ansattes navn)

Hvis du skriver inn print_name (ansattes_navn) før Funksjonsdefinisjonen vil Python klage som følger:

Traceback (siste samtalen sist): Fil "test.py", linje 3, i  print_name (employee_name) NameError: navn 'print_name' er ikke definert

Så du bør definere funksjonen før du ringer den.

La oss ta et annet eksempel. Denne gangen bruker vi lister. Anta at vi har følgende liste:

numbers_list = [1,2,3,4,5]

La oss si nå vi vil sette inn nye numre ved hjelp av denne funksjonen:

numbers_list = [1,2,3,4,5] def insert_numbers (numbers_list): numbers_list.insert (5, 8) numbers_list.insert (6, 13) skriv ut 'List \ "inne \" funksjonen er:', numbers_list returner insert_numbers (numbers_list) skriv ut 'List \ "utenfor \" funksjonen er:', numbers_list 

Legg merke til at utdataene fra dette Python-skriptet vil være:

Liste "inne" er funksjonen: [1, 2, 3, 4, 5, 8, 13] Liste "utenfor" er funksjonen: [1, 2, 3, 4, 5, 8, 13]

Hva kan vi konkludere med fra dette? Vi kan konkludere med at parametrene er sendt ved referanse. Det vil si at parametrene i den kalt funksjonen er de samme som de overførte argumentene (variabel / identitet) av den som ringer, i motsetning til fordelt på verdi der de ringte funksjonsparametrene er en kopi av anropsgivers godkjente argumenter.

En enkel kalkulator

La oss bruke vår kunnskap om funksjoner for å lage en mer interessant applikasjon. La oss bygge en enkel kalkulator. Denne kalkulatoren vil tillate brukeren å skrive inn to tall og utføre addisjon, subtraksjon, multiplikasjon, og inndeling på de to tallene.

def x (x, y): return x * y def divider (x, y): return x / yx = 8 y = 4 skriv ut '% d +% d =% d'% (x, y, add (x, y)) skriv ut '% d -% d =% d'% (x, y, subtrahere (x, y)) print '% d *% d =% d'% (x, y, multipliserer (x, y)) skriv ut '% d /% d =% d'% (x, y, divide (x, y))

Fortsett, prøv det og se hvilken utgang du får.

Lambda Funksjoner

Lambda-funksjoner er anonyme funksjoner Python oppretter ved kjøring med lambda konstruere. Så langt har vi lært at funksjoner defineres ved hjelp av def uttalelse. Lambda-funksjoner er imidlertid definert på en annen måte. La oss ta et eksempel for å avklare hvordan Lambda fungerer.

Si at vi vil skrive en funksjon som returnerer dobbelt verdien av det overførte argumentet. Bruker def uttalelse, ville vi gjøre følgende:

def dobbelt (x): retur x * 2 x = 10 print dobbel (x)

Lambda-måten å skrive denne funksjonen på er som følger:

x = 10 dobbelt = lambda x: x * 2 skriv ut dobbelt (x)

Det finnes forskjellige måter du kan bruke Lambda på. Sjekk denne veiledningen for mer informasjon om Lambda-funksjoner.

Som vi kan se, anses funksjoner som en viktig funksjon i Python, slik at du kan bruke koden i stedet for å gjenoppfinne hjulet.