Als programmeur zul je vaak merken dat je een actie of taak herhaaldelijk uitvoert. Dit kan vervelend en tijdrovend zijn, vooral bij het werken met een grote of complexe codebasis. Het automatiseren ervan met functies is een effectievere benadering om dergelijke taken uit te voeren. Met functies kunt u de codelogica één keer schrijven en deze overal in uw programma gebruiken.
Wat is een Python-functie?
In Python is een functie een codeblok dat wordt gebruikt om een specifieke taak uit te voeren. U hoeft een functie maar één keer te schrijven, maar u kunt deze meerdere keren in uw code gebruiken. Een functie kan argumenten opnemen als invoer en uitvoerwaarden retourneren. Dit eenvoudige programma toont een functie die de som van drie getallen berekent:
# Python-functie om de som van drie getallen te berekenen
defbereken_som(een, b, c):
opbrengst a+b+c
print (bereken_som(1,2,3)) # retourneert 6
print (bereken_som(1000, 300,44)) # retourneert 1344
print (bereken_som(12, 4,78)) # retourneert 94
In het bovenstaande programma retourneert de functie de som van drie argumenten. Wanneer de functie meerdere keren wordt aangeroepen, retourneert deze voor elk geval een andere uitvoer. Een handige toepassing voor deze functie is een rekenmachine-app.
Een functie definiëren in Python
Python heeft veel ingebouwde functies beschikbaar voor ontwikkelaars om te gebruiken. Deze ingebouwde functies zijn echter niet altijd voldoende om aan de eisen van de meeste projecten te voldoen. Om aan aangepaste eisen te voldoen, moet u uw aangepaste functies definiëren. Het definiëren van aangepaste functies is een gangbare praktijk bij het programmeren.
In Python kunt u een aangepaste functie definiëren met behulp van de def trefwoord gevolgd door de naam van uw functie met haakjes ervoor. Hier is een voorbeeld:
deffunctienaam()
Houd rekening met deze regels bij het toewijzen van een functienaam in Python:
- Functienamen moeten in kleine letters staan.
- Functienamen moeten beschrijvend zijn.
- Gebruik onderstrepingstekens om woorden in een functienaam van elkaar te scheiden.
Nadat u de functie hebt gedefinieerd, moet u de logica schrijven om de gewenste taak uit te voeren. Deze functie berekent bijvoorbeeld de oppervlakte van een driehoek:
# Python-functie om de oppervlakte van een driehoek te berekenen
defbereken_triangle_area(basis, hoogte):
oppervlakte = (basis * hoogte)/2
opbrengst gebied
print (bereken_triangle_area(12, 3))
De bovenstaande functie definieert twee parameters: baseren En hoogte, deelt hun product door twee en retourneert het resultaat als uitvoer. U kunt elke logica schrijven die u wilt dat uw functie uitvoert.
Functieargumenten begrijpen
In eerdere voorbeelden hebben de functies argumenten aangenomen om acties uit te voeren. De argumenten in deze voorbeelden staan bekend als vereiste of positionele argumenten. In Python kunnen uw argumenten een van de volgende zijn:
- Positionele argumenten
- Trefwoord argumenten
Positionele Argumenten
Positionele argumenten moeten in de juiste definitievolgorde worden doorgegeven. Als u bijvoorbeeld een functie definieert met parameters een, b, En C, u moet waarden voor deze parameters dienovereenkomstig doorgeven wanneer u ze oproept. Laten we een eerder voorbeeld bekijken:
# Python-functie om de som van drie getallen te berekenen
defbereken_som(een, b, c):
opbrengst a+b+c
print (bereken_som(1,2,3)) # retourneert 6
print (bereken_som(1000, 300,44)) # retourneert 1344
print (bereken_som(12, 4,78)) # retourneert 94
In het bovenstaande programma, de bereken_som() functie neemt drie argumenten wanneer we het aanroepen. Elk argument vertegenwoordigt een overeenkomstige parameter. In de eerste functie bellen, nummers 1, 2, En 3 staan voor een, b, En C overeenkomstig.
Een parameter wordt gedeclareerd in de definitie van een functie, terwijl een argument de waarde is die wordt doorgegeven wanneer u de functie aanroept. Deze waarde is een weergave van de bijbehorende parameter.
Positionele argumenten zijn verplicht. Als je ze niet toevoegt, krijg je een Typefout. Het volgende voorbeeld demonstreert dit:
defbereken_som(een, b, c):
opbrengst a+b+c
print (bereken_som(1,2)) # verhoogt TypeError
Wanneer u het bovenstaande programma op uw computer uitvoert, krijgt u een foutmelding die lijkt op die in de onderstaande afbeelding:
Trefwoord Argumenten
Trefwoordargumenten hoeven niet noodzakelijkerwijs te worden doorgegeven wanneer u een functie aanroept. Het zijn optionele argumenten en hoeven geen specifieke volgorde te volgen. Python laat ons gebruiken *args en **kwargs om trefwoordargumenten op te geven.
Afgezien van het gebruik *argumenten En **kwaad, is het ook mogelijk om standaardwaarden voor uw argumenten op te geven. Als u dit doet, krijgt u geen foutmelding als u vergeet een waarde toe te voegen bij het aanroepen van de functie. Dit voorbeeld geeft een illustratie:
defbereken_som(a, b, c=3):
opbrengst a+b+c
print (bereken_som(1,2)) # retourneert 6
In het bovenstaande programma, wanneer bereken_som() wordt genoemd, daar is geen argument voor C; dit heeft geen invloed op het programma omdat C heeft al een standaardwaarde. U kunt standaardwaarden opgeven voor zoveel argumenten als u wilt, maar zorg ervoor dat u dit verstandig doet.
Gebruik functies om uw code te ordenen
Functies zijn handig voor het organiseren van uw code, waardoor deze leesbaarder en efficiënter wordt. Met functies kunt u uw code opsplitsen in kleinere, herbruikbare brokken die gemakkelijker te begrijpen en te onderhouden zijn. Als u bovendien wijzigingen in uw code moet aanbrengen, hoeft u alleen de noodzakelijke functie aan te passen in plaats van de volledige codebasis.