Python-funktioner (def): Definition med eksempler

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.

  1. Nøgleord, defder markerer starten på funktionsoverskriften.
  2. Et funktionsnavn, der entydigt identificerer funktionen. Navngivning af funktioner følger de samme regler for skrivning af identifikatorer i Python.
  3. Parametre (argumenter), hvorigennem vi overfører værdier til en funktion. De er valgfri.
  4. Et kolon (:) for at markere slutningen af ​​funktionsoverskriften.
  5. Valgfri dokumentationsstreng (docstring) for at beskrive, hvad funktionen gør.
  6. Et eller flere gyldige pythonsætninger, der udgør funktionselementet. Udsagn skal have samme indrykningsniveau (normalt 4 mellemrum).
  7. En valgfri returnerklæ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 returnsæ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 returnudsagnet i sig selv ikke findes i en funktion, returnerer funktionen Noneobjektet.

For eksempel:

 >>> print(greet("May")) Hello, May. Good morning! None

Her Noneer den returnerede værdi, da greet()navnet direkte udskrives, og der ikke returnbruges 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?

Arbejde med funktioner 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:

  1. Indbyggede funktioner - Funktioner, der er indbygget i Python.
  2. Brugerdefinerede funktioner - Funktioner defineret af brugerne selv.

Interessante artikler...