Funcții Python (def): definiție cu exemple

În acest articol, veți afla despre funcții, ce este o funcție, sintaxa, componentele și tipurile de funcții. De asemenea, veți învăța să creați o funcție în Python.

Video: Introducere în funcțiile Python

Ce este o funcție în Python?

În Python, o funcție este un grup de instrucțiuni conexe care efectuează o sarcină specifică.

Funcțiile ne ajută să împărțim programul în bucăți mai mici și modulare. Pe măsură ce programul nostru crește din ce în ce mai mult, funcțiile îl fac mai organizat și mai ușor de gestionat.

În plus, evită repetarea și face codul reutilizabil.

Sintaxa funcției

 def nume_funcție (parametri): "" "docstring" "" declarație (e)

Mai sus este prezentată o definiție a funcției care constă din următoarele componente.

  1. Cuvânt cheie defcare marchează începutul antetului funcției.
  2. Un nume de funcție pentru a identifica în mod unic funcția. Denumirea funcției urmează aceleași reguli de scriere a identificatorilor în Python.
  3. Parametri (argumente) prin care trecem valori către o funcție. Sunt opționale.
  4. Un punct (:) pentru a marca sfârșitul antetului funcției.
  5. Șir de documentare opțional (docstring) pentru a descrie ce face funcția.
  6. Una sau mai multe instrucțiuni python valide care alcătuiesc corpul funcției. Declarațiile trebuie să aibă același nivel de indentare (de obicei, 4 spații).
  7. O returninstrucțiune opțională pentru a returna o valoare din funcție.

Exemplu de funcție

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")

Cum se apelează o funcție în python?

Odată ce am definit o funcție, o putem apela dintr-o altă funcție, program sau chiar din promptul Python. Pentru a apela o funcție, tastăm pur și simplu numele funcției cu parametrii corespunzători.

 >>> greet('Paul') Hello, Paul. Good morning!

Notă: Încercați să rulați codul de mai sus în programul Python cu definiția funcției pentru a vedea ieșirea.

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')

Docstrings

Primul șir după antetul funcției se numește docstring și este scurt pentru șirul de documentare. Este folosit pe scurt pentru a explica ce face o funcție.

Deși opțională, documentarea este o bună practică de programare. Dacă nu vă amintiți ce ați luat la cină săptămâna trecută, documentați-vă întotdeauna codul.

În exemplul de mai sus, avem un șir de documente imediat sub antetul funcției. În general, folosim ghilimele triple, astfel încât șirul de documente să se extindă până la mai multe linii. Acest șir ne este disponibil ca __doc__atribut al funcției.

De exemplu :

Încercați să rulați următoarele în shell-ul Python pentru a vedea rezultatul.

 >>> print(greet.__doc__) This function greets to the person passed in as a parameter

Pentru a afla mai multe despre șirurile de documente din Python, accesați Python Docstrings.

Declarația de returnare

Instrucțiunea returneste utilizată pentru a ieși dintr-o funcție și a reveni la locul de unde a fost apelată.

Sintaxa returnării

 returnare (expresie_listă)

Această declarație poate conține o expresie care este evaluată și valoarea este returnată. Dacă nu există nicio expresie în declarație sau returndeclarația în sine nu este prezentă în interiorul unei funcții, atunci funcția va returna Noneobiectul.

De exemplu:

 >>> print(greet("May")) Hello, May. Good morning! None

Aici Noneeste valoarea returnată, deoarece greet()tipărește direct numele și nu returnse folosește nicio instrucțiune.

Exemplu de returnare

 def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))

Ieșire

 2 4

Cum funcționează funcția în Python?

Funcționarea funcțiilor în Python

Domeniul de aplicare și durata de viață a variabilelor

Domeniul de aplicare al unei variabile este porțiunea unui program în care variabila este recunoscută. Parametrii și variabilele definite în interiorul unei funcții nu sunt vizibile din afara funcției. Prin urmare, au un domeniu de aplicare local.

Durata de viață a unei variabile este perioada în care variabila iese în memorie. Durata de viață a variabilelor din interiorul unei funcții este atâta timp cât funcția se execută.

Ele sunt distruse odată ce ne întoarcem din funcție. Prin urmare, o funcție nu își amintește valoarea unei variabile din apelurile sale anterioare.

Iată un exemplu pentru a ilustra scopul unei variabile din interiorul unei funcții.

 def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)

Ieșire

 Value inside function: 10 Value outside function: 20

Here, we can see that the value of x is 20 initially. Even though the function my_func() changed the value of x to 10, it did not affect the value outside the function.

This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.

On the other hand, variables outside of the function are visible from inside. They have a global scope.

We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global.

Types of Functions

Basically, we can divide functions into the following two types:

  1. Funcții încorporate - Funcții care sunt încorporate în Python.
  2. Funcții definite de utilizator - Funcții definite de utilizatori înșiși.

Articole interesante...