Python-functies is een blok met instructies die de specifieke taak retourneren. Het idee is om een aantal vaak of herhaaldelijk uitgevoerde taken samen te voegen en een functie te maken, zodat we in plaats van steeds opnieuw dezelfde code te schrijven voor verschillende invoer, de functieaanroepen kunnen doen om de code die erin zit keer op keer te hergebruiken.
Sommige Voordelen van het gebruik van functies
- Verbeter de leesbaarheid van de code
- Vergroot de herbruikbaarheid van code
Python-functiedeclaratie
De syntaxis om een functie te declareren is:

Syntaxis van Python-functiedeclaratie
Soorten functies in Python
Hieronder staan de verschillende soorten functies in Python :
- Ingebouwde bibliotheekfunctie: Dit zijn Standaard functies in Python die beschikbaar zijn voor gebruik.
- Door de gebruiker gedefinieerde functie: We kunnen onze eigen functies creëren op basis van onze vereisten.
Een functie maken in Python
We kunnen een functie in Python definiëren met behulp van de zeker trefwoord. We kunnen er naar behoefte allerlei functionaliteiten en eigenschappen aan toevoegen. Aan de hand van het volgende voorbeeld kunnen we begrijpen hoe we een functie in Python moeten schrijven. Op deze manier kunnen we een Python-functiedefinitie maken door het trefwoord def te gebruiken.
Python3 # A simple Python function def fun(): print('Welcome to GFG')> Een functie aanroepen in Python
Nadat we een functie in Python hebben gemaakt, kunnen we deze aanroepen door de naam van de functies Python te gebruiken, gevolgd door haakjes met parameters van die specifieke functie. Hieronder ziet u het voorbeeld voor het aanroepen van def-functie Python.
Python3 # A simple Python function def fun(): print('Welcome to GFG') # Driver code to call a function fun()> Uitgang:
Welcome to GFG>
Python-functie met parameters
Als je ervaring hebt met C/C++ of Java, dan denk je waarschijnlijk aan de soort retour van de functie en data type van argumenten. Dat is ook mogelijk in Python (specifiek voor Python 3.5 en hoger).
Syntaxis van Python-functies met parameters
def function_name(parameter: data_type) ->return_type: '''Docstring''' # hoofdtekst van de functie retourexpressie>
In het volgende voorbeeld wordt gebruikt argumenten en parameters dat u later in dit artikel zult leren, zodat u er nog eens op kunt terugkomen als u het niet begrijpt.
Python3 def add(num1: int, num2: int) ->int: '''Voeg twee cijfers toe''' num3 = num1 + num2 return num3 # Stuurprogrammacode num1, num2 = 5, 15 ans = add(num1, num2) print(f'De toevoeging van {num1} en {num2} resultaten {ans}.')> Uitgang:
The addition of 5 and 15 results 20.>
Python3Opmerking: De volgende voorbeelden zijn gedefinieerd met behulp van syntaxis 1. Probeer ze om te zetten in syntaxis 2 om te oefenen.
# some more functions def is_prime(n): if n in [2, 3]: return True if (n == 1) or (n % 2 == 0): return False r = 3 while r * r <= n: if n % r == 0: return False r += 2 return True print(is_prime(78), is_prime(79))>
Uitgang:
False True>
Python-functieargumenten
Argumenten zijn de waarden die tussen haakjes van de functie worden doorgegeven. Een functie kan een willekeurig aantal argumenten bevatten, gescheiden door een komma.
In dit voorbeeld maken we een eenvoudige functie in Python om te controleren of het getal dat als argument aan de functie wordt doorgegeven, even of oneven is.
Python3 # A simple Python function to check # whether x is even or odd def evenOdd(x): if (x % 2 == 0): print('even') else: print('odd') # Driver code to call the function evenOdd(2) evenOdd(3)> Uitgang:
even odd>
Soorten Python-functieargumenten
Python ondersteunt verschillende soorten argumenten die kunnen worden doorgegeven op het moment van de functieaanroep. In Python hebben we de volgende functieargumenttypen in Python:
index van java
- Standaardargument
- Trefwoordargumenten (benoemde argumenten)
- Positionele argumenten
- Willekeurige argumenten (argumenten met variabele lengte *args en **kwargs)
Laten we elk type in detail bespreken.
Standaardargumenten
A standaardargument is een parameter die een standaardwaarde aanneemt als er geen waarde is opgegeven in de functieaanroep voor dat argument. Het volgende voorbeeld illustreert standaardargumenten voor het schrijven van functies in Python.
Python3 # Python program to demonstrate # default arguments def myFun(x, y=50): print('x: ', x) print('y: ', y) # Driver code (We call myFun() with only # argument) myFun(10)> Uitgang:
x: 10 y: 50>
Net als de standaardargumenten in C++ kan een willekeurig aantal argumenten in een functie een standaardwaarde hebben. Maar zodra we een standaardargument hebben, moeten alle argumenten rechts ervan ook standaardwaarden hebben.
Trefwoordargumenten
Het idee is om de aanroeper de mogelijkheid te geven de argumentnaam met waarden op te geven, zodat de aanroeper de volgorde van de parameters niet hoeft te onthouden.
Python3 # Python program to demonstrate Keyword Arguments def student(firstname, lastname): print(firstname, lastname) # Keyword arguments student(firstname='Geeks', lastname='Practice') student(lastname='Practice', firstname='Geeks')>
Uitgang:
Geeks Practice Geeks Practice>
Positionele argumenten
Wij gebruikten de Positie argument tijdens de functieaanroep, zodat het eerste argument (of waarde) wordt toegewezen aan naam en het tweede argument (of waarde) wordt toegewezen aan leeftijd. Door de positie te veranderen, of als u de volgorde van de posities vergeet, kunnen de waarden op de verkeerde plaatsen worden gebruikt, zoals weergegeven in het voorbeeld van Case-2 hieronder, waar 27 is toegewezen aan de naam en Suraj is toegewezen aan de leeftijd.
Python3 def nameAge(name, age): print('Hi, I am', name) print('My age is ', age) # You will get correct output because # argument is given in order print('Case-1:') nameAge('Suraj', 27) # You will get incorrect output because # argument is not in order print('
Case-2:') nameAge(27, 'Suraj')> Uitgang:
Case-1: Hi, I am Suraj My age is 27 Case-2: Hi, I am 27 My age is Suraj>
Willekeurige trefwoordargumenten
In Python-arbitraire trefwoordargumenten: *args en **kwargs kan een variabel aantal argumenten doorgeven aan een functie met behulp van speciale symbolen. Er zijn twee speciale symbolen:
- *args in Python (niet-trefwoordargumenten)
- ** kwargs in Python (trefwoordargumenten)
Voorbeeld 1: Argument voor niet-trefwoorden met variabele lengte
Python3 # Python program to illustrate # *args for variable number of arguments def myFun(*argv): for arg in argv: print(arg) myFun('Hello', 'Welcome', 'to', 'techcodeview.com')> Uitgang:
tekenreeks als een array
Hello Welcome to techcodeview.com>
Voorbeeld 2: Zoekwoordargumenten met variabele lengte
Python3 # Python program to illustrate # *kwargs for variable number of keyword arguments def myFun(**kwargs): for key, value in kwargs.items(): print('%s == %s' % (key, value)) # Driver code myFun(first='Geeks', mid='for', last='Geeks')> Uitgang:
first == Geeks mid == for last == Geeks>
Docstring
De eerste string na de functie wordt de Documentstring of genoemd Docstring Kortom. Dit wordt gebruikt om de functionaliteit van de functie te beschrijven. Het gebruik van docstring in functies is optioneel, maar wordt als een goede praktijk beschouwd.
De onderstaande syntaxis kan worden gebruikt om de docstring van een functie af te drukken.
Syntax: print(function_name.__doc__)>
Voorbeeld: Docstring aan de functie toevoegen
Python3 # A simple Python function to check # whether x is even or odd def evenOdd(x): '''Function to check if the number is even or odd''' if (x % 2 == 0): print('even') else: print('odd') # Driver code to call the function print(evenOdd.__doc__)> Uitgang:
Function to check if the number is even or odd>
Python-functie binnen functies
Een functie die binnen een andere functie is gedefinieerd, staat bekend als de innerlijke functie of geneste functie . Geneste functies hebben toegang tot variabelen van het omsluitende bereik. Innerlijke functies worden gebruikt zodat ze kunnen worden beschermd tegen alles wat er buiten de functie gebeurt.
Python3 # Python program to # demonstrate accessing of # variables of nested functions def f1(): s = 'I love techcodeview.com' def f2(): print(s) f2() # Driver's code f1()>
Uitgang:
I love techcodeview.com>
Anonieme functies in Python
In Python, een anonieme functie betekent dat een functie geen naam heeft. Zoals we al weten wordt het trefwoord def gebruikt om de normale functies te definiëren en wordt het trefwoord lambda gebruikt om anonieme functies te creëren.
Python3 # Python code to illustrate the cube of a number # using lambda function def cube(x): return x*x*x cube_v2 = lambda x : x*x*x print(cube(7)) print(cube_v2(7))>
Uitgang:
343 343>
Recursieve functies in Python
Herhaling in Python verwijst naar wanneer een functie zichzelf aanroept. Er zijn veel gevallen waarin u een recursieve functie moet bouwen om op te lossen Wiskundige en recursieve problemen.
Het gebruik van een recursieve functie moet met de nodige voorzichtigheid gebeuren, aangezien een recursieve functie een niet-afsluitende lus kan worden. Het is beter om uw exit-instructie te controleren terwijl u een recursieve functie maakt.
Python3 def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) print(factorial(4))>
Uitvoer
24>
Hier hebben we een recursieve functie gemaakt om de faculteit van het getal te berekenen. U kunt zien dat de eindinstructie voor deze functie is wanneer n gelijk is aan 0.
Return-instructie in Python-functie
De functie return-instructie wordt gebruikt om een functie af te sluiten en terug te gaan naar de functie-aanroeper en de opgegeven waarde of gegevensitem terug te sturen naar de aanroeper. De syntaxis voor de return-instructie is:
return [expression_list]>
De return-instructie kan bestaan uit een variabele, een expressie of een constante die aan het einde van de functie-uitvoering wordt geretourneerd. Als geen van bovenstaande aanwezig is bij de return-instructie, wordt een object Geen geretourneerd.
Voorbeeld: Python Functie Return-instructie
Python3 def square_value(num): '''This function returns the square value of the entered number''' return num**2 print(square_value(2)) print(square_value(-4))>
Uitgang:
pothineni ram
4 16>
Pass by Reference en Pass by Value
Een belangrijk ding om op te merken is dat in Python elke variabelenaam een referentie is. Wanneer we een variabele doorgeven aan een functie Python, wordt er een nieuwe verwijzing naar het object gemaakt. Het doorgeven van parameters in Python is hetzelfde als het doorgeven van referenties in Java.
Python3 # Here x is a new reference to same list lst def myFun(x): x[0] = 20 # Driver Code (Note that lst is modified # after function call. lst = [10, 11, 12, 13, 14, 15] myFun(lst) print(lst)>
Uitgang:
[20, 11, 12, 13, 14, 15]>
Wanneer we een referentie doorgeven en de ontvangen referentie in iets anders veranderen, wordt de verbinding tussen de doorgegeven en ontvangen parameters verbroken. Beschouw het onderstaande programma bijvoorbeeld als volgt:
Python3 def myFun(x): # After below line link of x with previous # object gets broken. A new object is assigned # to x. x = [20, 30, 40] # Driver Code (Note that lst is not modified # after function call. lst = [10, 11, 12, 13, 14, 15] myFun(lst) print(lst)>
Uitgang:
[10, 11, 12, 13, 14, 15]>
Een ander voorbeeld laat zien dat de referentielink wordt verbroken als we een nieuwe waarde toekennen (binnen de functie).
Python3 def myFun(x): # After below line link of x with previous # object gets broken. A new object is assigned # to x. x = 20 # Driver Code (Note that x is not modified # after function call. x = 10 myFun(x) print(x)>
Uitgang:
10>
Oefening: Probeer de uitvoer van de volgende code te raden.
Python3 def swap(x, y): temp = x x = y y = temp # Driver code x = 2 y = 3 swap(x, y) print(x) print(y)>
Uitgang:
2 3>
Snelle koppelingen
- Quiz over Python-functies
- Verschil tussen methode en functie in Python
- Eersteklasfuncties in Python
- Recente artikelen over Python-functies .
Veelgestelde vragen - Python-functies
Q1. Wat is functie in Python?
De Python-functie is een codeblok dat alleen wordt uitgevoerd wanneer het wordt aangeroepen. Het is geprogrammeerd om de specifieke taak terug te sturen. U kunt waarden doorgeven in functies die parameters worden genoemd. Het helpt bij het uitvoeren van repetitieve taken.
Vraag 2. Wat zijn de 4 soorten functies in Python?
De belangrijkste typen functies in Python zijn:
- Ingebouwde functie
- Door de gebruiker gedefinieerde functie
- Lambda-functies
- Recursieve functies
Q3. H Hoe schrijf je een functie in Python? ?
Om een functie in Python te schrijven, kunt u het trefwoord def gebruiken en vervolgens de functienaam schrijven. U kunt de functiecode na gebruik opgeven ':'. De basissyntaxis voor het definiëren van een functie is:
def functie_naam():
#stelling
Q4. Wat zijn de parameters van een functie in Python?
Parameters in Python zijn de variabelen die de waarden aannemen die als argumenten worden doorgegeven bij het aanroepen van de functies. Een functie kan een willekeurig aantal parameters hebben. U kunt ook de standaardwaarde instellen op een parameter in Python.