Python fra grunnen - Funksjoner og moduler

Velkommen tilbake til Python fra Scratch-serien. I den forrige leksjonen lærte vi å bruke variabler og kontrollstrukturer for å lagre og manipulere data. Pass på å se om du trenger en oppfriskning!


Videoopplæring


transkripsjon

I dagens veiledning skal vi se på funksjoner - hva de er, hvordan de jobber, og hvordan de skal lage seg selv. Vi skal også vurdere noen av de innebygde funksjonene, og hvordan de skal brukes effektivt. Til slutt skal vi se på å lage og importere moduler.


Funksjoner - Skrive ditt eget

Funksjoner er et viktig skritt å dekke, når du introduserer ekstra kompleksitet i programmeringen. Hvis en variabel er en navngitt beholder for data, er en funksjon en navngitt beholder for en blokk med kode som kan utføres på forespørsel. Dette er nyttig hvis du har et program som utfører en bestemt operasjon mange ganger. I stedet for å kopiere og lime inn koden for å utføre denne operasjonen, vil hver enkelt del der det trengs, bare skrive en enkelt funksjon for å gjøre det for deg.

En funksjon er en navngitt beholder for en blokk med kode.

Det finnes to typer funksjoner: de som du skriver deg selv og inkluderer i koden din, og de som er inkludert i Python nativt, som utfører vanlige prosedyrer, for eksempel konvertering av et heltall til en streng, eller å finne lengden på en string.

Vi skal se på å skrive en enkel funksjon nå, og demonstrere hvordan det kan være nyttig i den virkelige verdenskoden. Deretter ser vi på noen av de viktigste innebygde funksjonene.

Et enkelt eksempel

La oss forestille oss at vi vil lage et skript for en handlekurv som koster alle elementene i handlekurven din, og legger dem til sammen for å returnere en total kostnad. Hvis du vil skrive en funksjon som vil ta to kostnader, legger du til dem og skriver ut utdataene, kan vi gjøre noe sånt:

 #our to kostnader for å legge opp cost1 = 15 cost2 = 20 def sumCart (): totalCost = cost1 + cost2 print totalCost sumCart ()

For å definere funksjonen, må vi bruke 'def'søkeord, og deretter navnet på funksjonen. Deretter skriver vi to parenteser (vi kommer tilbake til de senere), og deretter et kolon. Deretter skal hele koden som vi ønsker å være innkapslet i funksjonen være innrykket, akkurat som med hvis, samtidig som og til løkker.

For å lage koden i funksjonen, skriver vi navnet på funksjonen, etterfulgt av de to parantesene igjen. Hvis du kjører denne koden, vil du se den skrive ut '35', som er riktig utgang.

argumenter

Det er flott, men for øyeblikket er våre funksjoner litt stive - alt om funksjonen er hardkodd inn i dem. For eksempel, la oss si at vi vil bruke sumCart Fungerer et annet sted, i en annen del av programmet, men i stedet for å legge til cost1 og cost2 sammen, vil vi legge til to andre kostnader sammen som ble holdt i forskjellige variabler. Vi må skrive en helt ny funksjon, selv om den nye funksjonen ville være akkurat den samme som den nåværende, med navnene på variablene byttet rundt - det virker ikke som en effektiv løsning.

For å løse dette problemet bruker vi "argumenter", og det er det parentesene er for. Et argument er en måte å overføre data til en funksjon når vi ikke vet hvilken variabel eller variabler som dataene kommer til å være i. Hvis det er forvirrende, la oss ta det eksemplet jeg bare refererte til. Vi legger til to ekstra kostnader: cost3 og cost4.

Nå skal vi legge til to argumenter for de to elementene vi vil legge til. Argumenter defineres inne i parentesene, og hvert argument blir gitt et navn, med et komma separerer hver. Et argument fungerer som en midlertidig referanse til dataene du passerte inn mens funksjonen kjører.

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumKart (item1, item2): totalCost = item1 + item2 print totalCost sumCart (cost1, cost2)

Når vi kaller sumCart funksjon, de to variablene vi har passert inn (cost1 og cost2) blir lagt inn i argumentelementet1 og element2. Dette skjer alltid i samme rekkefølge som du definerer argumentene - med andre ord, den første variabelen du sender inn er tilordnet det første argumentet, det andre til det andre argumentet og så videre for så mange argumenter som funksjonen din tar.

Hva som faktisk skjer når funksjonen kjøres, er at disse to argumentene konverteres til lokale variabler og tilordnes verdiene til variablene du passerer inn i funksjonen når du ringer det - i dette tilfellet verdien av cost1 blir satt inn i den lokale variabelen item1, og verdien av cost2 blir satt inn i den lokale variabelen item2. Dette betyr at du enkelt kan bruke dem inne i funksjonen.

En annen måte du kan se på er at når du passerer en variabel som et argument, overalt at det argumentets navn vises i funksjonen, erstattes det med variabelen du har passert inn. Så i dette eksemplet, overalt det item1 er skrevet inne i funksjonen, den er erstattet med cost1, og det samme med item2 og cost2.

For å bevise at du kan passere noen tall du vil ha, hvis du kjører denne koden, bør du nå motta summen av cost3 og cost4:

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumKart (item1, item2): totalCost = item1 + item2 print totalCost sumCart (cost3, cost4)

Argumentstandarder

Merk at en funksjon kan akseptere et hvilket som helst antall argumenter, men husk: Når du ringer til funksjonen, må du sende den samme antall argumenter som du har definert, ellers får du en feil. Det er en vei rundt dette: du kan definere en standardverdi for ethvert argument, som brukes i tilfellene når du ikke oppgir en verdi.

Med tanke på vår nåværende kode, la oss forestille oss at vi vil ha det andre elementet til å koste 5 hvis vi ikke gir funksjonen en annen verdi. Det er ikke et sannsynlig scenario, men det vil demonstrere konseptet.

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumKart (item1, item2 = 5): totalCost = item1 + item2 print totalCost sumCart (cost1) sumCart (cost3, cost4)

Hvis vi kjører denne koden, ser du at i første anrop er utgangen 20, som faktisk er (kostnad 1 + 5). Dette påvirker imidlertid ikke oppførselen når begge argumentene leveres.

Returverdier

Det er en siste funksjon av funksjoner som vi skal gjennomgå i dag: returverdier. Vi har lært hvordan å lage en funksjon som ikke har noe imot hvilke innganger det tar, men hva om vi ønsket å lagre svaret på totalCost i en variabel i stedet for å skrive ut det? Kanskje det vi vil gjøre, er å utregne kostnaden for de to første elementene, og lagre den i en variabel, og gjør det samme med de andre to elementene og lagre det svaret i en andre variabel. Med den nåværende utformingen av vår funksjon, kunne vi ikke gjøre det på en lesbar og lettforståelig måte.

Akkurat som måten vi kan overføre argumenter til en funksjon slik at vi ikke trenger å kode hardt hvor dataene kommer fra, kan vi gjøre det samme med utdataene. Jeg skal vise deg med et eksempel - i vår tidligere funksjon skal jeg erstatte ordet 'print' med ordet 'return':

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumKart (item1, item2): totalCost = item1 + item2 retur totalCost cart1 = sumCart (cost1, cost2) cart2 = sumKart (cost3, cost4)

Åpenbart vil funksjonen ikke lenger skrive ut svaret for oss - hva det skal gjøre i stedet, er å sende tilbake verdien av variabelen totalKost til hvor vi kalte funksjonen fra. På den måten kan vi bruke svaret i hvilken sammenheng vi trenger. Nå, i vårt tidligere program, ville det ikke være spesielt nyttig, fordi vi ikke spesifiserte noe for å lagre det, så jeg har også forandret måten vi kaller funksjonen på.

Vi må gi Python en variabel for å lagre svaret, og så skal vi ganske enkelt sette den variabelen lik vår uttalelse som ringer funksjonen. Når funksjonen returnerer en verdi, vil denne verdien nå bli lagret i variabelen vi angav.


Funksjoner - Innebygd

Vi har lært hvordan vi lager egne funksjoner, og hvordan vi bruker dem, men det er noen operasjoner som utføres ofte nok til at Python har tatt med dem for bruk i et hvilket som helst program. Måten du kaller dem, er akkurat det samme som å ringe dine egne, men du trenger ikke å definere dem først. Vi skal nå se nærmere på de viktigste, men vær sikker på at du har en titt på Python-dokumentasjonen fordi det er mange nyttige funksjoner som er tilgjengelige for bruk, som vi ikke har tid til å dekke til høyre nå.

Se Python-dokumentasjonen for en liste over alle innebygde funksjoner.

str ()

Først, la oss se på en av de mest nyttige funksjonene i Python: strengkonverteringsfunksjonen. Det er mange ganger i skripting når du har en variabel som inneholder et tall eller en annen type data, men du må konvertere den verdien til en streng for å gjøre noe med det - normalt å skrive det ut på skjermen.

La oss si at vi har et nummer i en variabel, og at vi vil skrive ut det, med meldingen "Tallet er" og deretter nummeret. Hvis vi skriver:

 nummer = 10 skriv ut 'Tallet er' + nummer

? da kommer vi til å møte en feil, fordi det du spør Python å gjøre er å legge til et nummer og en streng sammen - noe som ikke gir mye mening. Det vi trenger å gjøre er å konvertere nummeret 10 til strengen 10. Hvis vi gjør det, vil Python forstå at det vi prøver å gjøre, ikke finner en sum, men i stedet sammenkoble de to strengene til en.

Det er her str funksjonen kommer inn. Den aksepterer en verdi, og returnerer en streng for å representere den. I tilfelle du sender det et nummer, vil det bare returnere nummeret, men i strengformat.

 nummer = 10 skriv ut 'Tallet er' + str (tall)

Nå som vi har omsluttet nummeret i en strengkonverteringsfunksjon, kjører koden perfekt. De str funksjonen trenger ikke å ta et tall om - det kan også ta andre verdier, for eksempel a boolean:

 bool = True print 'Verdien er' + str (bool)

De str () funksjonen finner nærmeste strengmatch det kan finne for verdien av 'ekte'og returnerer det, noe som betyr at vi kan levere det pent.

len ()

En annen vanlig oppgave for strenger er å kunne finne lengden på dem, og igjen har Python en innebygd funksjon for dette. La oss ta strengen 'Hello World' og prøve å finne lengden. For å gjøre dette, trenger vi den innebygde len () funksjon, som står for lengde. Alt vi trenger å gjøre er å sende det strengen vi vil bruke, og det vil returnere antall tegn i den:

 string = 'Hello World' print len ​​(streng)

De len () funksjonen er i stand til mer enn dette, skjønt. Hva det egentlig gjør er å telle antall elementer i objektet du gir det - hvis du gir det en streng, så er det antall tegn, men du kan også gi den en liste eller en tuple, for eksempel, og den vil returnere mengde elementer i det aktuelle objektet.

int ()

Fortsett, ofte får du et tall som 10,6 eller 3,896, som ikke er et heltall, men du trenger et heltall fra dem. Den innebygde funksjonen til å konvertere til et heltall kalles int (), og det fungerer ganske forutsigbart. Funksjonen vil returnere heltallkonvertering av det aktuelle nummeret. Merk at denne funksjonen IKKE runder inngangen til nærmeste heltall - det smelter ganske enkelt bort noe etter desimaltegnet og returnerer nummeret til deg. Så inngangen på 10,6 vil returnere 10, IKKE 11. Tilsvarende vil 3,25 returnere 3.

 tall = 10,6 print int (tall)

De int funksjonen kan også konvertere en streng til en int data-type. For eksempel, gitt dette, vil utgangen fortsatt være 10:

 tall = '10' print int (tall)

Vær imidlertid forsiktig, fordi når den konverterer fra en streng til et heltall, int () vil ikke håndtere desimaler. Hvis du gir det:

 tall = '10 .6 'print int (tall)

Da vil det kaste en feil, fordi inngangen ikke var et heltall, så det visste ikke hvordan man skal håndtere det.

område()

Til slutt skal vi raskt se på område() funksjon; Det kommer opp overraskende ofte når du begynner å gjøre mer komplekse oppgaver i Python, og selv om det ikke ser ut til å være mye nyttig for øyeblikket, er det verdt å se på og bli kjent med hvordan det fungerer. Område er en funksjon som du bruker til å lage en liste over tall etter et bestemt mønster. Det enkleste eksempelet er at du kanskje trenger en liste som inneholder alle tallene 0 til 10. I stedet for å skrive dem ut manuelt, kan du bruke område funksjon for å gjøre det i en linje.

Range aksepterer et heltall som parameter, og i så fall vil vi passere det 11. Funksjonen thens starter ved null, og gjør en liste teller oppover til den treffer en mindre enn nummeret du legger inn. Så her, hvis vi legger inn 11, det vil lagre tallene 0 - 10 i listetallene:

 tall = rekkevidde (11) skriv ut (tall)

Hva om vi ønsket å skrive ut tallene fem til ti i stedet? Vel, valgfritt, kan vi inkludere et annet argument for startnummeret, så dette vil skrive ut tallene fem til ti:

 tall = rekkevidde (5, 11) skriv ut (tall)

Til slutt, hva hvis vi ønsket å skrive ut bare odde tall under 10? Vel, rekkevidde aksepterer en tredje verdi, som er mengden som går opp hvert trinn. Så hvis vi starter ved 1, sett trinnet til to og den øvre grensen til 11, bør vi ende opp med alle odde tall under ti:

 tall = rekkevidde (1, 11, 2) skriv ut (tall)

Som et endelig notat kan noen av disse tallene også være negative, så hvis vi ønsket å telle ned fra 10 til 1 i stedet for opp, kunne vi sette trinnet til å være negativt 1, startverdien til 10 og grensen til 0 , som så:

 tall = rekkevidde (10, 0, -1) skriv ut (tall)

Vær oppmerksom på at rekkevidde bare skal håndtere heltall, så sørg for at du ikke gir noen verdier som ikke er heltall, eller du vil kaste en feil.


Moduler - Lag din egen

OK, vi har nå dekket funksjoner; la oss gå videre til det andre temaet i dagens leksjon: moduler. Hvis funksjoner er grupper av kode, er moduler grupper av funksjoner. Det er mer til dem, men det er en god måte å tenke på dem for nå.

Som vi diskuterte tidligere, kan du ikke lage et komplekst program uten å sortere kode i funksjoner, og når programmet fortsetter å vokse ytterligere, blir de ujevnlige. Du må sortere dem inn i et annet hierarkisk nivå. Dette er moduler. Så vi kan oppsummere dem som et strukturelt og organisatorisk verktøy for vår kode.

Moduler er ganske enkle å lage. De er ganske enkelt Python-filer, som dine vanlige skript. For å lage en modul, skriv en eller flere funksjoner i en tekstfil, og lagre den med en .py forlengelse. La oss gjøre det nå med et eksempel. Åpne en ny fil, din tekstredigerer eller IDE, og gjør en funksjon. Jeg skal fortsette med eksemplet på en handlekurv fra tidligere og gjøre en funksjon for å beregne skatt på produktene.

Opprett en ny fil i IDE eller tekstredigeringsprogrammet, og la oss lage en funksjon for å beregne skatt på et produkt.

 def addTax (pris, skatt): newPrice = pris / 100 * (100 + skatt) returnere newPrice

Hvis vi lagrer denne filen med en .py utvidelse i samme katalog som vårt andre skript, kan vi bruke det som en modul! Det er viktig å gi det et beskrivende navn slik at du vet hva det gjør når du kommer tilbake senere, så ring dette finance.py


Importerer moduler

For å bruke moduler, kan vi bruke enten importere eller fra søkeord. importere er den enkleste og mest vanlige, så la oss prøve det først. Du angir deretter navnet på modulen, som bare er filnavnet, uten .py forlengelse. For eksempel med vår finansiere modul i samme mappe som vårt skript, kunne vi skrive:

importfinansiering

? og vi ville ha tilgang til alle funksjonene i skriptet. Vi kan da ringe dem som vi gjorde før. Du kan også bruke fra søkeord, som lar deg velge bestemte funksjoner fra biblioteket, hvis du vet hvilke du trenger på forhånd. For en modul som har hundrevis av funksjoner, anbefales dette - det sparer belastningstid på funksjoner som ikke engang blir brukt.

fra finansimporten addTax

Du kan importere flere ved å skille navnene sine med kommaer.

fra finansiell import addTax, beregneDiskonto

Og du kan til og med bruke stjernekortet for å importere alt.

fra finansimport *

Etter at du har importert modulen, bruker du funksjonene i den, bruker du modulnavnet, etterfulgt av en prikk, og deretter funksjonsnavnet.

 importer økonomi print finance.addTax (100, 5)

Dette bør resultere i 105 når skriptet kjøres. Et enkelt resultat, men det betyr at du har en arbeidsfunksjon!


Innebygde moduler

Det er mange innebygde moduler, akkurat som det er med innebygde funksjoner. Det er her Python virkelig utmerker seg! Det tar det som kalles "batteriene inkludert? nærme seg.

Fordi Python har et så stort utvalg av innebygde moduler, er det ikke mulig å dekke dem alle i en leksjon. Noen er ganske uklare, og det er ikke noe poeng å lære en mengde informasjon du aldri kan bruke til. I stedet la oss dekke flere av de mest nyttige.

  • tilfeldig
  • matte
  • os
  • dato tid
  • urllib2

tilfeldig

En god en til å begynne med er tilfeldig , fordi det er lett å forstå og nyttig i de fleste skript vil du skrive. Som du forventer, lar denne modulen deg generere tilfeldige tall. For eksempel, når du bruker Python til å opprette et nettsted, kan de brukes til å gjøre passorddatabasen sikrere eller aktivere en tilfeldig sidefunksjon. Hvis vi ønsket et tilfeldig heltall, kan vi bruke randint fungere som:

 importere tilfeldig utskrift random.randint (0, 5)

Dette vil utgjøre enten 1, 2, 3, 4 eller 5. Randint aksepterer nøyaktig to parametere: et lavest og et høyest tall. Som du kan se, inneholder den det høyeste nummeret, men går fra 1 over det laveste nummeret. Hvis du vil ha et tilfeldig flytende punktnummer, kan du bruke tilfeldig funksjon:

 importer tilfeldig random.random ()

? som gir et tilfeldig tall mellom 0 og 1, til en rekke desimaler. Hvis du vil ha et større nummer, kan du multiplisere det. For eksempel et tilfeldig tall mellom 0 og 100:

 importer tilfeldig random.random () * 100

De tilfeldig Modulen har også en funksjon for å velge et tilfeldig element fra et sett som en liste, som kalles valg.

 importer tilfeldig myList = [1, 8, True, 77, "Lorem", 482, "Ipsum"] random.choice (myList)

matte

De matte Modulen gir tilgang til matematiske konstanter og funksjoner.

 importer matematikk math.pi #Pi, 3.14? math.e # Euler nummer, 2,71? math.degrees (2) # 2 radians = 114.59 degrees math.radians (60) # 60 grader = 1.04 radians math.sin (2) #Sine av 2 radianer math.cos (0.5) #Cosine av 0,5 radianer math.tan 0,23) #Tangent på 0,23 radianer math.factorial (5) # 1 * 2 * 3 * 4 * 5 = 120 math.sqrt (49) #Square rot av 49 = 7

Det er mange flere funksjoner i modulen, men disse er noen av de mest nyttige. Du finner en fullstendig liste her.

dato tid

Hvis du trenger å jobbe med datoer og klokkeslett, så dato tid Modulen er din venn. Denne er en veldig nyttig en å vite om for webutvikling. Hvis du lager et nettsted med kommentarer, eller en blogg, så vil du sannsynligvis vise sin alder, eller den tiden de ble opprettet.

La oss importere modulen som vanlig:

 importer datetime

For enkelhets skyld kan du også importere dato og tidskomponenter separat, slik at du ikke trenger å skrive så mye senere.

 importer datetime fra datetime import dato importtid

La oss se på noen av funksjonene den gir:

 time.time () #Returns antall sekunder siden Unix epok, 1. januar 1970 date.fromtimestamp (123456789) #Converterer et antall sekunder til en datoobjekt date.fromtimestamp (time.time ()) #We kan kombinere to for å få et objekt som representerer gjeldende tid date.fromordinal (10000) #Returnerer datoen et gitt antall dager siden 1. januar i år 1 - 28 mai 0018 i dette tilfellet

Det er noen nyttige funksjoner for å konvertere datoer til brukbare strenger. strftime lar deg formatere en streng basert på spesialtegn foran et prosent-symbol. % d representerer dag, for eksempel.

 currentDate = date.fromtimestamp (time.time ()) #Create en variabel som representerer tiden nå CurrentDate.strftime ("% d /% m /% y") #Format datoen som DD / MM / YY - i dette tilfellet 09 / 07/11 currentDate.isoformat () #Format som ISO standard dato - i dette tilfellet 2011-07-09

os

Den neste modulen vi ser på er os, som gir funksjoner som lar deg grensesnitt med det underliggende operativsystemet Python kjører på - det er Windows, Mac eller Linux. Vi vil fokusere på sti submodule. Det lar deg manipulere og finne egenskapene til filer og mapper på systemet, så det er mest nyttig for webutvikling. Du må ofte administrere filer, for eksempel brukeropplastinger.

 fra os import path path.exists ("/ Users / Giles") #Checker om katalogen eksisterer, i mitt tilfelle er det True path.exists ("/ Users / Bob") #False denne gangen
 fra os import banen path.getatime ("/ Users") #Get sist gang den oppgitte katalogen ble åpnet som en tidsstempel path.getmtime ("/ Users") # Få siste gang den oppgitte katalogen ble endret som en tidsstempel

Disse tidsstemplene kan konverteres til brukbare strenger ved hjelp av dato tid modul - du kan se hvordan du kan kombinere moduler.

 fra os import banen path.getsize ("/ Users / Giles / Desktop / boot") #Returnerer størrelsen på en fil i byte - for denne filen var det 314400 bytes eller 314kb

Den siste funksjonen i OS-modulen vi skal se på er bli med. Den kombinerer to baner i en. Du kan tenke: "Hvorfor kan jeg ikke bare sammenkoble strengene?", Men det er ikke så enkelt som det. På Windows er stiavgrensningen et tilbakeslag, på Mac og Linux er det et fremoverstreke. Denne modulen lindrer problemer slik, og sørger for at Pythons-skriptene fungerer på alle systemer.

 path.join ("C:", "Users") #Returns "C: / Users"

urllib2

For å fullføre vår tur til Pythons standardbibliotek, skal vi se nærmere på urllib2. Denne modulen lar deg grensesnittet med nettet, så det er åpenbart ganske relevant for oss. Den mest nyttige funksjonen den gir er urlopen, som laster ned en side.

Du bruker det som følger:

 importer urllib2 urllib2.urlopen ("http://net.tutsplus.com")

Du kan selvsagt bytte URL-strengen for et hvilket som helst nettsted. Dette vil laste ned HTML-innholdet på siden. Dette vil ikke returnere en streng skjønt, så vi må lese dataene for å få det ut:

 importer urllib2 urllib2.urlopen ("http://net.tutsplus.com") .read (100)

Dette returnerer de første 100 tegnene til HTML-kilden til Nettuts +. Når du har disse dataene, kan du sortere gjennom den og trekke ut de nødvendige brikkene du trenger.


Endelige tips

Hvis modulen din er i en annen katalog enn skriptet ditt, er det litt vanskeligere å importere dem. Du må opprette en fil som forteller Python, mappen er en pakke. Hvis du for eksempel har en mappe, kalt underkatalog, i samme mappe som skriptet, og deretter modulen din i den underkatalogen, må du opprette en fil som heter __init__.py i samme mappe som modulen. Denne filen kan være tom. Deretter vil du importere det fra skriptet ditt:

% gjennomgå det hvis du trenger en oppfriskning!


Videoopplæring


transkripsjon

I dagens veiledning skal vi se på funksjoner - hva de er, hvordan de jobber, og hvordan de skal lage seg selv. Vi skal også vurdere noen av de innebygde funksjonene, og hvordan de skal brukes effektivt. Til slutt skal vi se på å lage og importere moduler.


Funksjoner - Skrive ditt eget

Funksjoner er et viktig skritt å dekke, når du introduserer ekstra kompleksitet i programmeringen. Hvis en variabel er en navngitt beholder for data, er en funksjon en navngitt beholder for en blokk med kode som kan utføres på forespørsel. Dette er nyttig hvis du har et program som utfører en bestemt operasjon mange ganger. I stedet for å kopiere og lime inn koden for å utføre denne operasjonen, vil hver enkelt del der det trengs, bare skrive en enkelt funksjon for å gjøre det for deg.

En funksjon er en navngitt beholder for en blokk med kode.

Det finnes to typer funksjoner: de som du skriver deg selv og inkluderer i koden din, og de som er inkludert i Python nativt, som utfører vanlige prosedyrer, for eksempel konvertering av et heltall til en streng, eller å finne lengden på en string.

Vi skal se på å skrive en enkel funksjon nå, og demonstrere hvordan det kan være nyttig i den virkelige verdenskoden. Deretter ser vi på noen av de viktigste innebygde funksjonene.

Et enkelt eksempel

La oss forestille oss at vi vil lage et skript for en handlekurv som koster alle elementene i handlekurven din, og legger dem til sammen for å returnere en total kostnad. Hvis du vil skrive en funksjon som vil ta to kostnader, legger du til dem og skriver ut utdataene, kan vi gjøre noe sånt:

 #our to kostnader for å legge opp cost1 = 15 cost2 = 20 def sumCart (): totalCost = cost1 + cost2 print totalCost sumCart ()

For å definere funksjonen, må vi bruke 'def'søkeord, og deretter navnet på funksjonen. Deretter skriver vi to parenteser (vi kommer tilbake til de senere), og deretter et kolon. Etter det er all koden vi w