Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python Functies onder de knie krijgen: Syntaxis, Types en Praktische Voorbeelden

Python Functies

In dit artikel leer je over functies, wat een functie is, de syntaxis, componenten en typen functies. Ook leer je een functie in Python aan te maken.

Video: Introductie tot Python Functies

Wat is een functie in Python?

In Python is een functie een groep gerelateerde statements die een specifieke taak uitvoert.

Functies helpen ons programma op te breken in kleinere, modulaire stukken. Naarmate ons programma groter wordt, maken functies het georganiseerder en beheersbaarder.

Bovendien vermijden ze herhaling en maken ze code herbruikbaar.

Syntaxis van Functie

def function_name(parameters):
    """docstring"""
    statement(s)

Bovenstaande is een functiedefinitie die uit de volgende componenten bestaat.

  1. Keyword def dat het begin van de functieheader markeert.
  2. Een functienaam om de functie uniek te identificeren. Functienamen volgen dezelfde regels als identifiers in Python.
  3. Parameters (argumenten) waartegen we waarden aan een functie doorgeven. Ze zijn optioneel.
  4. Een dubbele punt (:) om het einde van de functieheader te markeren.
  5. Optionele documentatiestring (docstring) om te beschrijven wat de functie doet.
  6. Één of meer geldige python-statements die de functiebody vormen. Statements moeten hetzelfde indentatieniveau hebben (meestal 4 spaties).
  7. Een optioneel return statement om een waarde uit de functie te retourneren.

Voorbeeld van een functie

def greet(name):
    """Deze functie groet de persoon die als parameter doorgegeven wordt"""
    print("Hallo, " + name + ". Goedemorgen!")

Hoe een functie in python aanroepen?

Eenmaal gedefinieerd, kun je een functie aanroepen vanuit een andere functie, programma, of zelfs de Python-prompt. Om een functie aan te roepen typ je simpelweg de functienaam met de juiste parameters.

>>> greet('Paul')
Hallo, Paul. Goedemorgen!

Probeer de bovenstaande code in het Python-programma met de functiedefinitie te draaien om de output te zien.

def greet(name):
    """Deze functie groet de persoon die als parameter doorgegeven wordt"""
    print("Hallo, " + name + ". Goedemorgen!")
greet('Paul')

Let op: In python moet de functiedefinitie altijd voor de functie-aanroep staan. Anders krijg je een fout. Bijvoorbeeld:

# functie-aanroep
greet('Paul')
# functiedefinitie
def greet(name):
    """Deze functie groet de persoon die als parameter doorgegeven wordt"""
    print("Hallo, " + name + ". Goedemorgen!")
# Error: name 'greet' is not defined

Docstrings

Hoewel optioneel, is documentatie een goede programmeerpraktijk. Ten unless je je kunt herinneren wat je vorige week te diner had, documenteer altijd je code.

In het bovenstaande voorbeeld hebben we een docstring direct onder de functieheader. We gebruiken meestal triple quotes zodat de docstring over meerdere regels kan lopen. Deze string is beschikbaar als het __doc__ attribuut van de functie.

Bijvoorbeeld:

Probeer het volgende in de Python-shell te draaien om de output te zien.

>>> print(greet.__doc__)
Deze functie groet de persoon die als parameter doorgegeven wordt

Om meer te leren over docstrings in Python, bezoek Python Docstrings.


Het return statement

Het return statement wordt gebruikt om een functie te verlaten en terug te keren naar de plek waar het aangeroepen werd.

Syntaxis van return

return [expression_list]

Dit statement kan een expressie bevatten die geëvalueerd wordt en de waarde wordt geretourneerd. Als er geen expressie in het statement zit of het return statement zelf niet in de functie zit, dan retourneert de functie het None object.

Bijvoorbeeld:

>>> print(greet("May"))
Hallo, May. Goedemorgen!
None

Hier is None de geretourneerde waarde omdat greet() direct de naam print en geen return statement gebruikt.


Voorbeeld van return

def absolute_value(num):
    """Deze functie retourneert de absolute waarde van het ingevoerde getal"""
    if num >= 0:
        return num
    else:
        return -num
print(absolute_value(2))
print(absolute_value(-4))

Output

2
4

Hoe Functie werkt in Python?

Python Functies onder de knie krijgen: Syntaxis, Types en Praktische Voorbeelden

Scope en Levensduur van variabelen

Scope van een variabele is het deel van een programma waar de variabele herkend wordt. Parameters en variabelen gedefinieerd binnen een functie zijn niet zichtbaar vanaf buiten de functie. Dus ze hebben een lokale scope.

De levensduur van een variabele is de periode waarin de variabele in het geheugen bestaat. De levensduur van variabelen binnen een functie is zo lang als de functie uitvoert.

Ze worden vernietigd zodra we uit de functie returnen. Dus een functie onthoudt de waarde van een variabele niet van eerdere aanroepen.

Hier is een voorbeeld om de scope van een variabele binnen een functie te illustreren.

def my_func():
    x = 10
    print("Waarde binnen functie:", x)
x = 20
my_func()
print("Waarde buiten functie:", x)

Output

Waarde binnen functie: 10
Waarde buiten functie: 20

Hier zien we dat de waarde van x initieel 20 is. Hoewel de functie my_func() de waarde van x veranderde naar 10, beïnvloedde het de waarde buiten de functie niet.

Dit is omdat de variabele x binnen de functie anders is (lokaal voor de functie) dan de buiten. Hoewel ze dezelfde namen hebben, zijn het twee verschillende variabelen met verschillende scopes.

Aan de andere kant, variabelen buiten de functie zijn zichtbaar van binnen. Ze hebben een globale scope.

We kunnen deze waarden lezen van binnen de functie maar niet wijzigen (schrijven). Om de waarde van variabelen buiten de functie te wijzigen, moeten ze gedeclareerd worden als globale variabelen met het keyword global.


Types Functies

Basicaal kunnen we functies verdelen in de volgende twee typen:

  1. Built-in functies - Functies die in Python ingebouwd zijn.
  2. User-defined functies - Functies gedefinieerd door de gebruikers zelf.

Python

  1. 10 Essentiële Insight-functies voor het optimaliseren van Stratasys FDM-printen
  2. Python Operators onder de knie krijgen: Een uitgebreide gids
  3. Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
  4. Python Lambda Functies: Een praktische gids voor anonieme functies
  5. Python-dictionaries beheersen: aanmaken, manipuleren en geavanceerde technieken
  6. Python-generators: efficiënte iteratie en geavanceerde use cases
  7. Python-closures uitgelegd: hoe geneste functies variabelen vangen
  8. Python-decorators beheersen: functies verbeteren met expert-technieken
  9. Python's strip()-methode beheersen: Uitgebreide handleiding & praktische voorbeelden
  10. Python lambda-functies beheersen: praktische voorbeelden & best practices
  11. Python round()-functie uitgelegd met praktische voorbeelden