Un refresher Smooth pentru funcțiile Python

În Python, este posibil să fi întâmpinat lucruri precum file (), print (), open (), range (), etc. Acestea sunt numite funcții încorporate. Asta este, funcțiile deja furnizate de limbajul însuși pe care îl puteți executa prin referire (chemare) la ele. Dar, care este oricum o funcție? Aceasta este ceea ce vom învăța în acest tutorial, modul Python!

funcţii

funcţii sunt compuse dintr-un set de instrucțiuni combinate pentru a obține un rezultat (realizarea unei anumite sarcini) și sunt executate prin chemarea acestora, și anume printr-o funcția de apel. Rezultatele în Python pot fi fie rezultatul unor calcule în funcție sau Nici unul. Aceste funcții pot fi și ele built-in (menționate mai sus) sau definite de utilizator funcții. Funcțiile definite în cadrul clasei sunt numite metode.

Definirea funcțiilor

Acum, că știm ce înseamnă o funcție, să vedem cum putem defini funcții în Python. Pentru a face acest lucru, folosim def , care are următoarea sintaxă: 

def nume_funcție (parametrii): declarație (e) expresie retur

parametrii în definiția funcției sunt opționale, deoarece unele funcții nu necesită transmiterea parametrilor în momentul apelului funcției. Dacă sunt transmise mai mult de un parametru, parametrii sunt separați prin virgulă și sunt legați la argumente în funcția care corespunde parametrilor parcurși. Instrucțiunile (corpul funcției) sunt executate atunci când este apelată funcția.

întoarcere declarația este o declarație opțională care servește ca punct de ieșire al funcției în care o expresie ar putea fi returnată apelantului sau dacă nu este identificată nici o expresie, va fi ca și cum ați reveni la Nici unul valoare.

Exemple

Să trecem prin câteva exemple pentru a înțelege mai mult ideea de funcții. Veți observa că aceste funcții ne salvează de repetarea noastră, deoarece acestea oferă un blocaj de reutilizabile cod pentru a apela ori de câte ori dorim să efectuăm o sarcină obișnuită pe care ar trebui să o îndeplinim.

Spuneți că dorim să afișăm numele oricărui angajat înscris în sistem. Acest lucru poate arăta după cum urmează:

employee_name = 'Abder' def nume_principal (nume): nume de imprimare print_name (employee_name) 

După cum puteți vedea, dacă vrem să apelăm o funcție, identificăm pur și simplu următoarele:

  • nume de funcție (adică nume de imprimare)
  • parametrii (adică numele angajatului)

Dacă tastați print_name (employee_name) inainte de definirea funcției, Python se va plânge după cum urmează:

Traceback (ultimul apel ultimul): Fișierul "test.py", rândul 3, în  print_name (employee_name) NameError: numele "print_name" nu este definit

Deci, trebuie să definiți funcția înainte de a o apela.

Să luăm un alt exemplu. De data aceasta vom folosi liste. Presupunem că avem următoarea listă:

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

Să presupunem acum că vrem să introducem noi numere utilizând această funcție:

numere_list = [1,2,3,4,5] def numere de inserție (numere_list): numere_list.insert (5, 8) numere_list.insert (6, 13) print 'Lista \ "înăuntru \" funcția este:', numbers_list returnați numerele_inumeratoare (numere_list) print 'Lista \ "în afara \" funcția este:', numere_list 

Observați că rezultatul acestui script Python va fi:

Listează "înăuntru" funcția este: [1, 2, 3, 4, 5, 8, 13]

Ce putem deduce din asta? Putem concluziona că parametrii sunt trecut prin referință. Adică parametrii din funcția apelată sunt aceiași ca și argumentele transmise (variabile / identitate) de către apelant, spre deosebire de trecut prin valoare unde parametrii funcției numiți sunt o copie a argumentelor primite de apelant.

Un Calculator Simplu

Să folosim cunoștințele noastre de funcții pentru a construi ușor o aplicație mai interesantă. Să construim un calculator simplu. Acest calculator va permite utilizatorului să introducă două numere și să efectueze plus, scădere, multiplicare, și diviziune pe cele două numere.

(x, y): întoarcere x + y def divizare (x, y): întoarcere x / yx = 8 y = 4 tipăriți '% d +% d'% d '% (x, y, add (x, y) '% d'% d '% d'% (x, y, multiplica (x, y))

Mergeți, încercați și vedeți ce ieșire obțineți.

Funcțiile Lambda

Funcțiile Lambda sunt funcții anonime pe care Python le creează la runtime utilizând lambda construi. Până acum, am aflat că funcțiile sunt definite folosind def afirmație. Funcțiile Lambda sunt, totuși, definite într-o manieră diferită. Să luăm un exemplu pentru a clarifica modul în care funcționează funcțiile Lambda.

Spuneți că vrem să scriem o funcție care returnează dubla valoarea argumentului dat. Utilizarea def declarație, am face următoarele:

def dublu (x): întoarcere x * 2 x = 10 imprimare dublă (x)

Modul Lambda de scriere a acestei funcții este după cum urmează:

x = 10 dublu = lambda x: x * 2 imprimare dublă (x)

Există moduri diferite în care puteți utiliza Lambda. Consultați acest tutorial pentru mai multe informații despre funcțiile Lambda.

După cum vedem, funcțiile sunt considerate o caracteristică importantă în Python, permițându-vă să refolosiți codul în loc să reinventați roata.

Cod