Voorbeelden van Python-functies:aanroepen, inspringen, argumenten en retourwaarden
Wat is functie in Python?
Een Functie in Python is een stukje code dat wordt uitgevoerd wanneer ernaar wordt verwezen. Het wordt gebruikt om de code op meer dan één plaats in een programma te gebruiken. Het wordt ook methode of procedure genoemd. Python biedt veel ingebouwde functies zoals print(), input(), compile(), exec(), etc. maar het geeft ook de vrijheid om je eigen functies te creëren.
In deze tutorial zullen we leren
- Hoe een functie in Python te definiëren en aan te roepen
- Betekenis van inspringing (spatie) in Python
- Hoe geeft functie waarde terug?
- Argumenten in functies
Hoe een functie in Python te definiëren en aan te roepen
Functie in Python wordt gedefinieerd door de “def ” statement gevolgd door de functienaam en haakjes ( () )
Voorbeeld:
Laten we een functie definiëren door het commando "def func1():" te gebruiken en de functie aan te roepen. De uitvoer van de functie is "Ik leer de Python-functie".
De functie print func1() roept onze def func1():aan en druk het commando ” Ik leer de Python-functie Geen. ”
Er zijn regels in Python om een functie te definiëren.
- Alle argumenten of invoerparameters moeten tussen deze haakjes worden geplaatst
- De functie first statement kan een optionele statement-docstring zijn of de documentatie string van de functie
- De code binnen elke functie begint met een dubbele punt (:) en moet worden ingesprongen (spatie)
- De instructie return (expressie) sluit een functie af en geeft optioneel een waarde terug aan de aanroeper. Een return-statement zonder args is hetzelfde als return None.
Betekenis van inspringing (spatie) in Python
Voordat we vertrouwd raken met Python-functies, is het belangrijk dat we de inspringingsregel begrijpen om Python-functies te declareren en deze regels zijn ook van toepassing op andere elementen van Python, zoals het declareren van voorwaarden, lussen of variabelen.
Python volgt een bepaalde stijl van inspringen om de code te definiëren, aangezien Python-functies geen expliciet begin of einde hebben zoals accolades om het begin en einde van de functie aan te geven, ze moeten vertrouwen op deze inspringing . Hier nemen we een eenvoudig voorbeeld met de opdracht "print". Wanneer we de functie "print" direct onder de def func 1 () schrijven:het zal een "inspringfout:verwacht een ingesprongen blok tonen ".
Als u nu de inspringing (spatie) voor de functie "afdrukken" toevoegt, zou deze moeten afdrukken zoals verwacht.
Ten minste één streepje is voldoende om uw code succesvol te laten werken. Maar als best practice is het raadzaam om ongeveer 3-4 streepjes over te laten om uw functie aan te roepen .
Het is ook noodzakelijk dat u bij het declareren van inspringing dezelfde inspringing voor de rest van uw code moet behouden . Bijvoorbeeld, in onderstaande schermafbeelding wanneer we een andere instructie "nog steeds in func1" noemen en wanneer deze niet direct onder de eerste afdrukinstructie wordt gedeclareerd, wordt een inspringingsfout weergegeven "unindent komt niet overeen met een ander inspringingsniveau."
Als we nu dezelfde inspringing toepassen voor beide instructies en ze op dezelfde regel uitlijnen, geeft dit de verwachte uitvoer.
Hoe geeft functie waarde terug?
Het Return-commando in Python specificeert welke waarde moet worden teruggegeven aan de aanroeper van de functie.
Laten we dit begrijpen met het volgende voorbeeld
Stap 1) Hier - we zien wanneer functie niet "retour" is. We willen bijvoorbeeld het kwadraat van 4 en het zou antwoord "16" moeten geven wanneer de code wordt uitgevoerd. Wat het geeft als we gewoon de code "print x*x" gebruiken, maar als je de functie "print vierkant" aanroept, geeft het "Geen" als uitvoer. Dit komt omdat wanneer u de functie aanroept, er geen recursie plaatsvindt en aan het einde van de functie valt. Python retourneert "Geen" voor het falen van het einde van de functie.
Stap 2) Om dit duidelijker te maken vervangen we het printcommando door toewijzingscommando. Laten we de uitvoer controleren.
Wanneer u het commando "print square (4)" uitvoert, retourneert het feitelijk de waarde van het object, aangezien we geen specifieke functie hebben om hier uit te voeren, het retourneert "Geen".
Stap 3) Nu zullen we hier zien hoe we de uitvoer kunnen ophalen met de opdracht "return". Als je de "return"-functie gebruikt en de code uitvoert, zal het de output "16" geven.
Stap 4) Functies in Python zijn zelf een object en een object heeft enige waarde. We zullen hier zien hoe Python een object behandelt. Wanneer u het commando "print square" uitvoert, wordt de waarde van het object geretourneerd. Omdat we geen enkel argument hebben doorgegeven, hebben we geen specifieke functie om hier uit te voeren. Het retourneert een standaardwaarde (0x021B2D30), wat de locatie van het object is. In het praktische Python-programma hoef je dit waarschijnlijk nooit te doen.
Argumenten in functies
Het argument is een waarde die aan de functie wordt doorgegeven wanneer deze wordt aangeroepen.
Met andere woorden, aan de aanroepende kant is het een argument en aan de functiekant is het een parameter.
Laten we eens kijken hoe Python Args werkt –
Stap 1) Argumenten worden gedeclareerd in de functiedefinitie. Terwijl u de functie aanroept, kunt u de waarden voor die args doorgeven, zoals hieronder weergegeven
Stap 2) Om een standaardwaarde van een argument te declareren, wijst u het een waarde toe bij functiedefinitie.
Voorbeeld:x heeft geen standaardwaarden. Standaardwaarden van y=0. Wanneer we slechts één argument leveren tijdens het aanroepen van de vermenigvuldigingsfunctie, wijst Python de opgegeven waarde toe aan x terwijl de waarde van y=0 behouden blijft. Vandaar de vermenigvuldiging van x*y=0
Stap 3) Deze keer zullen we de waarde veranderen in y=2 in plaats van de standaardwaarde y=0, en het zal de output teruggeven als (4×2)=8.
Stap 4) Je kunt ook de volgorde wijzigen waarin de argumenten in Python kunnen worden doorgegeven. Hier hebben we de volgorde van de waarde x en y omgedraaid naar x=4 en y=2.
Stap 5) Meerdere argumenten kunnen ook als een array worden doorgegeven. Hier in het voorbeeld noemen we de meerdere args (1,2,3,4,5) door de functie (*args) aan te roepen.
Voorbeeld:we hebben meerdere args als getal (1,2,3,4,5) gedeclareerd als we de functie (*args) aanroepen; het drukt de uitvoer af als (1,2,3,4,5)
Tips :
- In Python 2.7. functie-overbelasting wordt niet ondersteund in Python. Functie-overbelasting is de mogelijkheid om meerdere methoden met dezelfde naam te maken met een verschillende implementatie. Functie-overbelasting wordt volledig ondersteund in Python 3
- Er is nogal wat verwarring tussen methoden en functies. Methoden in Python zijn geassocieerd met objectinstanties, terwijl functie dat niet is. Wanneer Python een methode aanroept, bindt het de eerste parameter van die aanroep aan de juiste objectreferentie. In eenvoudige bewoordingen is een zelfstandige functie in Python 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)
Samenvatting:
Functie in Python is een stuk herbruikbare code dat wordt gebruikt om een enkele, gerelateerde actie uit te voeren. In dit artikel zullen we zien
- Functie gedefinieerd door de def verklaring
- Het codeblok binnen elke functie begint met een dubbele punt (:) en moet worden ingesprongen (spatie)
- Alle argumenten of invoerparameters moeten tussen deze haakjes worden geplaatst, enz.
- Er moet ten minste één streepje voor de code staan nadat de functie is gedeclareerd
- Dezelfde inspringstijl moet in de hele code behouden blijven binnen de def-functie
- Voor best practices worden drie of vier streepjes beschouwd als de beste vóór de verklaring
- U kunt de opdracht "return" gebruiken om waarden terug te sturen naar de functieaanroep.
- Python zal een willekeurige waarde zoals (0x021B2D30) afdrukken wanneer het argument niet aan de aanroepende functie wordt geleverd. Voorbeeld “afdrukfunctie.”
- Aan de aanroepende kant is het een argument en aan de functiekant is het een parameter
- Standaardwaarde in argument – Wanneer we slechts één argument opgeven terwijl we de vermenigvuldigingsfunctie of een andere functie aanroepen, wijst Python standaard het andere argument toe
- Met Python kun je ook de volgorde van het argument omkeren
Python
- Python-verklaring, inspringing en opmerkingen
- Python-functieargumenten
- Python Anonieme/Lambda-functie
- Python-generatoren
- Python-sluitingen
- Python-decorateurs
- C++-functies met programmavoorbeelden
- Python Lambda-functies met VOORBEELDEN
- Python abs() Functie:Voorbeelden van absolute waarden
- Python round() functie met VOORBEELDEN
- Python range() Functie:Float, List, For loop Voorbeelden