Een functie oproepen Python (Voorbeeld)
โก Slimme samenvatting
Functies in Python Functies zijn herbruikbare codeblokken die worden uitgevoerd wanneer ze worden aangeroepen en die worden gedefinieerd met de `def`-instructie. Ze accepteren argumenten, retourneren waarden en vertrouwen op consistente inspringing om de instructies die bij elke functie horen te groeperen.

Wat is functie in Python?
A Functie in Python Een procedure is een stuk code dat wordt uitgevoerd wanneer ernaar wordt verwezen. Het wordt gebruikt om de code op meer dan รฉรฉn plek in een programma te gebruiken. Het wordt ook wel een methode of een procedure genoemd. Python Het biedt veel ingebouwde functies zoals print(), input(), compile() en exec(), maar geeft je ook de vrijheid om je eigen functies te creรซren.
Hoe u een functie definieert en aanroept Python
Een functie binnen Python wordt gedefinieerd door de instructie "def", gevolgd door de functienaam en haakjes ( () ).
Voorbeeld:
Laten we een functie definiรซren met het commando โdef func1():โ en de functie aanroepen. De uitvoer van de functie zal zijn: โIk leer Python functie".
De functieaanroep func1() roept onze functie def func1() aan en print het commando "Ik ben aan het leren". Python functie Geen.โ
Er is een reeks regels in Python programmering om een โโfunctie te definiรซren.
- Alle argumenten of invoerparameters moeten tussen deze haakjes worden geplaatst.
- De eerste instructie van de functie kan een optionele instructie zijn: de docstring of documentatiestring van de functie.
- De code binnen elke functie begint met een dubbele punt (:) en moet ingesprongen zijn (spatie).
- De return-instructie (expressie) verlaat een functie en geeft optioneel een waarde terug aan de aanroeper. Een return-instructie zonder argumenten is hetzelfde als return None.
Betekenis van inkeping (ruimte) in Python
Voordat we kennis maken met Python functies, is het belangrijk dat we de inspringregel begrijpen die we moeten declareren Python functies, en deze regels zijn van toepassing op andere elementen van Python Ook bij het declareren van voorwaarden, lussen of variabelen.
Python volgt een specifieke inspringstijl om de code te definiรซren. Python Functies hebben geen expliciet begin- of eindpunt, zoals accolades, om het begin en einde van de functie aan te geven; ze moeten vertrouwen op inspringing. Laten we een eenvoudig voorbeeld nemen met de opdracht "print". Wanneer we de functie "print" direct onder de regel `def func1():` plaatsen, krijgen we de foutmelding "indentation error: expected an indented block".
Als je nu een inspringing (spatie) voor de "print"-functie plaatst, zou het correct moeten worden afgedrukt.
Eรฉn inspringing is voldoende om je code goed te laten werken. Maar als beste praktijk is het aan te raden om ongeveer 3-4 spaties inspringing te gebruiken voor het aanroepen van je functie.
Het is ook belangrijk dat u, bij het declareren van de inspringing, dezelfde inspringing aanhoudt voor de rest van uw code. In de onderstaande schermafbeelding bijvoorbeeld, wanneer we een andere instructie aanroepen "still in func1" en deze niet direct onder de eerste print-instructie is gedeclareerd, verschijnt er een inspringfout: "unindent does not match any other indentation level."
Als we nu dezelfde inspringing toepassen op beide statements en ze op dezelfde regel uitlijnen, krijgen we de verwachte uitvoer.
Hoe functioneert de retourwaarde?
Het retourcommando in Python Specificeert welke waarde aan de aanroeper van de functie moet worden teruggegeven. Laten we dit aan de hand van het volgende voorbeeld verduidelijken.
Stap 1) De functie retourneert niets
Hier zien we wat er gebeurt als een functie geen resultaat retourneert. We willen bijvoorbeeld het kwadraat van 4 berekenen, en de code zou "16" als antwoord moeten geven. Als we simpelweg "print x*x" gebruiken, krijgen we dat antwoord, maar als we de functie "print square" aanroepen, krijgen we "None" als uitvoer. Dit komt doordat er geen recursie plaatsvindt wanneer de functie wordt aangeroepen, waardoor de functie wordt afgebroken. Python retourneert "None" wanneer de functie niet wordt uitgevoerd.
Stap 2) Vervang de printopdracht door een toewijzingsopdracht
Om dit te verduidelijken, vervangen we het printcommando door een toewijzingscommando. Laten we de uitvoer eens bekijken.
Wanneer je het commando "print square (4)" uitvoert, retourneert het de waarde van het object. Omdat we hier geen specifieke functie hoeven uit te voeren, retourneert het "None".
Stap 3) Gebruik de 'return'-functie en voer de code uit.
Nu zullen we zien hoe je de uitvoer kunt ophalen met behulp van de "return"-opdracht. Wanneer je de "return"-functie gebruikt en de code uitvoert, krijg je als uitvoer "16".
Stap 4) Voer het commando 'print square' uit
Functies in Python zijn zelf een object, en een object heeft een bepaalde waarde. We zullen hier zien hoe Python behandelt een object. Wanneer je de opdracht "print square" uitvoert, retourneert deze de waarde van het object. Omdat we geen argumenten hebben doorgegeven, is er geen specifieke functie die hier moet worden uitgevoerd, dus retourneert het een standaardwaarde (0x021B2D30), wat de locatie van het object is. In een praktische situatie Python Als je dit programma gebruikt, hoef je het waarschijnlijk nooit te doen.
Argumenten in functies
Een argument is een waarde die aan de functie wordt doorgegeven wanneer deze wordt aangeroepen.
Met andere woorden, aan de kant van de aanroeper is het een argument, en aan de kant van de functie is het een parameter.
Laten we eens kijken hoe Python Argumenten werken.
Stap 1) Argumenten worden in de functiedefinitie gedeclareerd. Bij het aanroepen van de functie kunt u de waarden voor die argumenten doorgeven zoals hieronder weergegeven.
Stap 2) Om een โโstandaardwaarde voor een argument in te stellen, wijs je er een waarde aan toe bij de functiedefinitie.
Voorbeeld: x heeft geen standaardwaarde. De standaardwaarde van y is 0. Wanneer we slechts รฉรฉn argument meegeven bij het aanroepen van de vermenigvuldigingsfunctie, Python kent de opgegeven waarde toe aan x terwijl keeping De waarde van y=0. Vandaar dat het product van x*y=0 is.
Stap 3) Deze keer veranderen we de waarde van y naar 2 in plaats van de standaardwaarde y=0, en de uitvoer zal (4ร2)=8 zijn.
Stap 4) Je kunt ook de volgorde wijzigen waarin de argumenten worden doorgegeven. PythonHier hebben we de volgorde van de waarden x en y omgedraaid, zodat x=4 en y=2 is.
Stap 5) Meerdere argumenten kunnen ook als array worden doorgegeven. In dit voorbeeld roepen we de meerdere argumenten (1, 2, 3, 4, 5) aan door de functie (*args) aan te roepen.
Voorbeeld: We hebben meerdere argumenten gedeclareerd als de getallen (1,2,3,4,5); wanneer we de functie (*args) aanroepen, print deze de uitvoer als (1,2,3,4,5).
Tips:
- In Python 2.7, functie-overloading wordt niet ondersteund. Functie-overloading is de mogelijkheid om meerdere methoden met dezelfde naam en een verschillende implementatie te creรซren. Functie-overloading wordt volledig ondersteund in Python 3.
- Er bestaat nogal wat verwarring tussen methoden en functies. Methoden in Python zijn gekoppeld aan objectinstanties, terwijl functies dat niet zijn. Wanneer Python een methode aanroept, bindt het de eerste parameter van die aanroep aan de juiste objectreferentie. In eenvoudige woorden: een zelfstandige functie in Python is een โfunctieโ, terwijl een functie die een attribuut is van een klasse of een instantie een โmethodeโ is.
Hier is de volledige Python 3 code
#define a function
def func1():
print ("I am learning Python function")
print ("still in func1")
func1()
def square(x):
return x*x
print(square(4))
def multiply(x,y=0):
print("value of x=",x)
print("value of y=",y)
return x*y
print(multiply(y=2,x=4))
Hier is de volledige Python 2 code
#define a function
def func1():
print " I am learning Python function"
print " still in func1"
func1()
def square(x):
return x*x
print square(4)
def multiply(x,y=0):
print"value of x=",x
print"value of y=",y
return x*y
print multiply(y=2,x=4)














