Een soepele opfrissing van de functies van Python

In Python bent u misschien dingen tegengekomen zoals bestand (), afdrukken (), openen (), bereik (), enzovoort. Die heten ingebouwde functies. Dat wil zeggen, functies die al door de taal zelf worden geboden en die u kunt uitvoeren door ernaar te verwijzen (te bellen). Maar wat is eigenlijk een functie? Dit is wat we gaan leren in deze tutorial, de Python-manier!

functies

functies zijn samengesteld uit een verzameling instructies die samen worden gecombineerd om een ​​bepaald resultaat te krijgen (een bepaalde taak te bereiken), en worden uitgevoerd door ze te noemen, namelijk door een functieaanroep. De resultaten in Python kunnen de uitvoer van sommige berekeningen in de functie of zijn Geen. Die functies kunnen beide zijn ingebouwd functies (hierboven genoemd) of gebruiker gedefinieerde functies. Functies gedefinieerd binnen klassen worden opgeroepen methoden.

Functies definiëren

Nu we weten wat er met een functie wordt bedoeld, laten we eens kijken hoe we functies in Python kunnen definiëren. Om dat te doen, gebruiken we de def verklaring, die de volgende syntaxis heeft: 

def function_name (parameters): statement (s) return expression

De parameters in de functiedefinitie zijn optioneel, omdat sommige functies geen parameters vereisen die moeten worden doorgegeven op het moment van de functieaanroep. Als er meer dan één parameter wordt doorgegeven, worden de parameters gescheiden door komma's en zijn ze gebonden aan de argumenten in de functie die overeenkomt met de gepasseerde parameters. De instructies (functie-instantie) worden uitgevoerd wanneer de functie wordt aangeroepen.

De terugkeer statement is een optionele instructie die fungeert als het exitpunt van de functie waar een expressie kan worden geretourneerd aan de beller, of als er geen expressie wordt geïdentificeerd, zal het zijn als het retourneren van een Geen waarde.

Voorbeelden

Laten we enkele voorbeelden doornemen om het idee van functies beter te begrijpen. Je zult merken dat functies ons ervan weerhouden om onszelf te herhalen, omdat ze een blok van bieden herbruikbare code om te bellen wanneer we een normale taak willen uitvoeren die we zouden moeten uitvoeren.

Stel dat we de naam van elke medewerker die in het systeem is ingevoerd willen weergeven. Dit kan er als volgt uitzien:

employee_name = 'Abder' def print_name (naam): print naam print_name (medewerker_naam) 

Zoals je kunt zien, identificeren we het volgende als we een functie willen noemen:

  • functienaam (d.w.z. print_name)
  • parameters (d.w.z. werknemersnaam)

Als je typt print_name (Naam_werknemer) voor de functie-definitie, zal Python als volgt klagen:

Traceback (meest recente oproep laatste): bestand 'test.py', regel 3, in  print_name (employee_name) NameError: naam 'print_name' is niet gedefinieerd

Dus je moet de functie definiëren voordat je hem oproept.

Laten we nog een voorbeeld nemen. Deze keer zullen we lijsten gebruiken. Stel dat we de volgende lijst hebben:

numbers_list = [1,2,3,4,5]

Laten we zeggen dat we nu nieuwe nummers willen invoegen met behulp van deze functie:

numbers_list = [1,2,3,4,5] def insert_numbers (numbers_list): numbers_list.insert (5, 8) numbers_list.insert (6, 13) print 'List \ "inside \" de functie is:', numbers_list return insert_numbers (numbers_list) print 'List \ "buiten' de functie is: ', numbers_list 

Merk op dat de uitvoer van dit Python-script zal zijn:

Lijst "binnen" de functie is: [1, 2, 3, 4, 5, 8, 13] Lijst "buiten" de functie is: [1, 2, 3, 4, 5, 8, 13]

Wat kunnen we hieruit concluderen? We kunnen concluderen dat de parameters zijn doorgegeven door verwijzing. Dat wil zeggen, de parameters in de opgeroepen functie zijn hetzelfde als de doorgegeven argumenten (variabele / identiteit) van de beller, in tegenstelling tot geslaagd voor waarde waar de aangeroepen functieparameters een kopie zijn van de door de beller doorgegeven argumenten.

Een eenvoudige rekenmachine

Laten we onze kennis van functies gebruiken om een ​​iets interessantere toepassing te bouwen. Laten we een eenvoudige rekenmachine bouwen. Met deze rekenmachine kan de gebruiker twee getallen invoeren en uitvoeren toevoeging, aftrekking, vermenigvuldiging, en divisie op de twee cijfers.

def add (x, y): return x + y def aftrekken (x, y): return xy def vermenigvuldigen (x, y): return x * y def divide (x, y): return x / yx = 8 y = 4 afdrukken '% d +% d =% d'% (x, y, toevoegen (x, y)) afdrukken '% d -% d =% d'% (x, y, aftrekken (x, y)) afdrukken '% d *% d =% d'% (x, y, vermenigvuldigen (x, y)) afdrukken '% d /% d =% d'% (x, y, delen (x, y))

Ga je gang, probeer het uit en kijk welke uitvoer je krijgt.

Lambda-functies

Lambda-functies zijn anonieme functies die Python tijdens runtime maakt met behulp van de lambda construeren. Tot nu toe hebben we geleerd dat functies worden gedefinieerd met behulp van de def uitspraak. Lambda-functies worden echter op een andere manier gedefinieerd. Laten we een voorbeeld nemen om te verduidelijken hoe Lambda-functies werken.

Stel dat we een functie willen schrijven die het dubbele waarde van het aangenomen argument. De ... gebruiken def verklaring, zouden we het volgende doen:

def double (x): return x * 2 x = 10 print dubbel (x)

De Lambda manier om deze functie te schrijven is als volgt:

x = 10 dubbel = lambda x: x * 2 dubbel afdrukken (x)

Er zijn verschillende manieren om Lambda te gebruiken. Raadpleeg deze tutorial voor meer informatie over Lambda-functies.

Zoals we kunnen zien, worden functies in Python als een belangrijke functie beschouwd, waardoor je code opnieuw kunt gebruiken in plaats van het wiel opnieuw uit te vinden.