Python-functies (def): definitie met voorbeelden

In dit artikel leert u over functies, wat een functie is, de syntaxis, componenten en soorten functies. Ook leer je hoe je een functie in Python kunt maken.

Video: inleiding tot Python-functies

Wat is een functie in Python?

In Python is een functie een groep gerelateerde instructies die een specifieke taak uitvoeren.

Functies helpen ons programma op te splitsen in kleinere en modulaire brokken. Naarmate ons programma groter en groter wordt, maken functies het overzichtelijker en beter beheersbaar.

Bovendien vermijdt het herhaling en maakt het de code herbruikbaar.

Syntaxis van functie

 def functienaam (parameters): "" "docstring" "" instructie (s)

Hierboven ziet u een functiedefinitie die bestaat uit de volgende componenten.

  1. Sleutelwoord defdat het begin van de functiekop markeert.
  2. Een functienaam om de functie uniek te identificeren. Functienaamgeving volgt dezelfde regels voor het schrijven van ID's in Python.
  3. Parameters (argumenten) waarmee we waarden aan een functie doorgeven. Ze zijn optioneel.
  4. Een dubbele punt (:) om het einde van de functiekop aan te geven.
  5. Optionele documentatiestring (docstring) om te beschrijven wat de functie doet.
  6. Een of meer geldige python-instructies die de hoofdtekst van de functie vormen. Uitspraken moeten hetzelfde inspringingsniveau hebben (meestal 4 spaties).
  7. Een optionele returninstructie om een ​​waarde uit de functie te retourneren.

Voorbeeld van een functie

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")

Hoe een functie in python aanroepen?

Zodra we een functie hebben gedefinieerd, kunnen we deze aanroepen vanuit een andere functie, programma of zelfs de Python-prompt. Om een ​​functie aan te roepen, typen we simpelweg de functienaam met de juiste parameters.

 >>> greet('Paul') Hello, Paul. Good morning!

Opmerking: probeer de bovenstaande code in het Python-programma uit te voeren met de functiedefinitie om de uitvoer te zien.

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')

Docstrings

De eerste tekenreeks na de functieheader wordt de docstring genoemd en is een afkorting voor documentatiestring. Het wordt kort gebruikt om uit te leggen wat een functie doet.

Hoewel optioneel, is documentatie een goede programmeerpraktijk. Leg altijd uw code vast, tenzij u zich kunt herinneren wat u vorige week van het avondeten heeft gegeten.

In het bovenstaande voorbeeld hebben we een docstring direct onder de functiekop. We gebruiken over het algemeen drievoudige aanhalingstekens, zodat docstring zich kan uitstrekken tot meerdere regels. Deze string is voor ons beschikbaar als het __doc__attribuut van de functie.

Bijvoorbeeld :

Probeer het volgende uit te voeren in de Python-shell om de uitvoer te zien.

 >>> print(greet.__doc__) This function greets to the person passed in as a parameter

Voor meer informatie over docstrings in Python, bezoek Python Docstrings.

De retourverklaring

De returninstructie wordt gebruikt om een ​​functie te verlaten en terug te gaan naar de plaats waar deze werd aangeroepen.

Syntaxis van terugkeer

 return (expression_list)

Deze instructie kan een expressie bevatten die wordt geëvalueerd en de waarde wordt geretourneerd. Als de instructie geen expressie bevat of de returninstructie zelf niet aanwezig is in een functie, retourneert de functie het Noneobject.

Bijvoorbeeld:

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

Hier Noneis de geretourneerde waarde, aangezien greet()de naam direct wordt afgedrukt en er geen returninstructie wordt gebruikt.

Voorbeeld van retourneren

 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))

Uitvoer

 2 4

Hoe werkt de functie in Python?

Werken met functies in Python

Reikwijdte en levensduur van variabelen

Het bereik van een variabele is het gedeelte van een programma waarin de variabele wordt herkend. Parameters en variabelen die binnen een functie zijn gedefinieerd, zijn niet zichtbaar van buiten de functie. Daarom hebben ze een lokaal bereik.

De levensduur van een variabele is de periode waarin de variabele in het geheugen verdwijnt. De levensduur van variabelen binnen een functie is zo lang als de functie wordt uitgevoerd.

Ze worden vernietigd zodra we terugkeren van de functie. Daarom onthoudt een functie de waarde van een variabele niet uit zijn vorige aanroepen.

Hier is een voorbeeld om het bereik van een variabele binnen een functie te illustreren.

 def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)

Uitvoer

 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. Ingebouwde functies - Functies die in Python zijn ingebouwd.
  2. Door de gebruiker gedefinieerde functies - Functies die door de gebruikers zelf zijn gedefinieerd.

Interessante artikelen...