I denne artikel lærer du om funktioner, hvad en funktion er, syntaksen, komponenterne og funktionstyperne. Du lærer også at oprette en funktion i Python.
Video: Introduktion til Python-funktioner
Hvad er en funktion i Python?
I Python er en funktion en gruppe af relaterede udsagn, der udfører en bestemt opgave.
Funktioner hjælper med at bryde vores program i mindre og modulære bidder. Efterhånden som vores program bliver større og større, gør funktioner det mere organiseret og håndterbart.
Desuden undgår det gentagelse og gør koden genanvendelig.
Funktionssyntaks
def function_name (parameters): "" "docstring" "" statement (s)
Ovenfor er vist en funktionsdefinition, der består af følgende komponenter.
- Nøgleord,
def
der markerer starten på funktionsoverskriften. - Et funktionsnavn, der entydigt identificerer funktionen. Navngivning af funktioner følger de samme regler for skrivning af identifikatorer i Python.
- Parametre (argumenter), hvorigennem vi overfører værdier til en funktion. De er valgfri.
- Et kolon (:) for at markere slutningen af funktionsoverskriften.
- Valgfri dokumentationsstreng (docstring) for at beskrive, hvad funktionen gør.
- Et eller flere gyldige pythonsætninger, der udgør funktionselementet. Udsagn skal have samme indrykningsniveau (normalt 4 mellemrum).
- En valgfri
return
erklæring for at returnere en værdi fra funktionen.
Eksempel på en funktion
def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")
Hvordan kaldes en funktion i python?
Når vi har defineret en funktion, kan vi kalde den fra en anden funktion, et program eller endda Python-prompten. For at kalde en funktion skriver vi blot funktionsnavnet med passende parametre.
>>> greet('Paul') Hello, Paul. Good morning!
Bemærk: Prøv at køre ovenstående kode i Python-programmet med funktionsdefinitionen for at se output.
def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')
Docstrings
Den første streng efter funktionsoverskriften kaldes docstring og er en forkortelse for dokumentationsstreng. Det bruges kort til at forklare, hvad en funktion gør.
Selvom det er valgfrit, er dokumentation en god programmeringspraksis. Medmindre du kan huske, hvad du spiste til middag i sidste uge, skal du altid dokumentere din kode.
I ovenstående eksempel har vi en dokstring umiddelbart under funktionsoverskriften. Vi bruger generelt tredobbelte citater, så docstring kan strække sig op til flere linjer. Denne streng er tilgængelig for os som __doc__
attribut for funktionen.
For eksempel :
Prøv at køre følgende ind i Python-skalen for at se output.
>>> print(greet.__doc__) This function greets to the person passed in as a parameter
Hvis du vil lære mere om docstrings i Python, skal du besøge Python Docstrings.
Returerklæringen
Den return
sætning bruges til at afslutte en funktion og gå tilbage til det sted, hvorfra den blev kaldt.
Syntaks for tilbagevenden
returner (expression_list)
Denne erklæring kan indeholde et udtryk, der evalueres, og værdien returneres. Hvis der ikke er noget udtryk i udsagnet, eller return
udsagnet i sig selv ikke findes i en funktion, returnerer funktionen None
objektet.
For eksempel:
>>> print(greet("May")) Hello, May. Good morning! None
Her None
er den returnerede værdi, da greet()
navnet direkte udskrives, og der ikke return
bruges nogen sætning.
Eksempel på tilbagevenden
def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))
Produktion
2 4
Hvordan fungerer funktion i Python?

Omfang og levetid for variabler
Omfanget af en variabel er den del af et program, hvor variablen genkendes. Parametre og variabler defineret inde i en funktion er ikke synlige uden for funktionen. Derfor har de et lokalt anvendelsesområde.
Levetiden for en variabel er den periode, i hvilken variablen kommer ud i hukommelsen. Levetiden for variabler inde i en funktion er så lang som funktionen udføres.
De ødelægges, når vi vender tilbage fra funktionen. Derfor kan en funktion ikke huske værdien af en variabel fra dens tidligere opkald.
Her er et eksempel for at illustrere omfanget af en variabel inde i en funktion.
def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)
Produktion
Value inside function: 10 Value outside function: 20
Here, we can see that the value of x is 20 initially. Even though the function my_func()
changed the value of x to 10, it did not affect the value outside the function.
This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.
On the other hand, variables outside of the function are visible from inside. They have a global scope.
We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global
.
Types of Functions
Basically, we can divide functions into the following two types:
- Indbyggede funktioner - Funktioner, der er indbygget i Python.
- Brugerdefinerede funktioner - Funktioner defineret af brugerne selv.