Funcții Python este un bloc de instrucțiuni care returnează sarcina specifică. Ideea este să punem împreună unele sarcini efectuate în mod obișnuit sau în mod repetat și să facem o funcție, astfel încât, în loc să scriem același cod din nou și din nou pentru diferite intrări, să putem face apeluri de funcție pentru a reutiliza codul conținut în el iar și iar.
niste Beneficiile utilizării funcțiilor
- Creșteți lizibilitatea codului
- Creșteți reutilizarea codului
Declarația funcției Python
Sintaxa pentru declararea unei funcții este:

Sintaxa Declarației Funcției Python
Tipuri de funcții în Python
Mai jos sunt diferitele tipuri de funcții în Piton :
- Funcție de bibliotecă încorporată: Acestea sunt Funcții standard în Python care sunt disponibile pentru utilizare.
- Funcție definită de utilizator: Ne putem crea propriile funcții în funcție de cerințele noastre.
Crearea unei funcții în Python
Putem defini o funcție în Python, folosind def cuvânt cheie. Putem adăuga orice tip de funcționalități și proprietăți după cum avem nevoie. Prin următorul exemplu, putem înțelege cum să scriem o funcție în Python. În acest fel, putem crea definiția funcției Python utilizând cuvântul cheie def.
Python3 # A simple Python function def fun(): print('Welcome to GFG')> Apelarea unei funcții în Python
După crearea unei funcții în Python, o putem apela folosind numele funcțiilor Python urmat de paranteze care conțin parametrii acelei funcții particulare. Mai jos este exemplul de apelare a funcției def Python.
Python3 # A simple Python function def fun(): print('Welcome to GFG') # Driver code to call a function fun()> Ieșire:
Welcome to GFG>
Funcția Python cu parametri
Dacă aveți experiență în C/C++ sau Java, atunci trebuie să vă gândiți la tip de returnare a funcţiei şi tip de date a argumentelor. Acest lucru este posibil și în Python (în special pentru Python 3.5 și mai sus).
fișier csv citiți java
Sintaxa funcției Python cu parametri
def function_name(parameter: data_type) ->return_type: '''Docstring''' # corpul expresiei de returnare a funcției>
Următorul exemplu utilizează argumente și parametri că veți învăța mai târziu în acest articol, astfel încât să puteți reveni la el din nou dacă nu este înțeles.
Python3 def add(num1: int, num2: int) ->int: '''Adăugați două numere''' num3 = num1 + num2 return num3 # Cod driver num1, num2 = 5, 15 ans = add(num1, num2) print(f'Adăugarea lui {num1} și {num2} rezultate {ans}.')> Ieșire:
The addition of 5 and 15 results 20.>
Python3Notă: Următoarele exemple sunt definite folosind sintaxa 1, încercați să le convertiți în sintaxa 2 pentru practică.
# some more functions def is_prime(n): if n in [2, 3]: return True if (n == 1) or (n % 2 == 0): return False r = 3 while r * r <= n: if n % r == 0: return False r += 2 return True print(is_prime(78), is_prime(79))>
Ieșire:
False True>
Argumente ale funcției Python
Argumentele sunt valorile trecute în paranteza funcției. O funcție poate avea orice număr de argumente separate prin virgulă.
În acest exemplu, vom crea o funcție simplă în Python pentru a verifica dacă numărul transmis ca argument funcției este par sau impar.
Python3 # A simple Python function to check # whether x is even or odd def evenOdd(x): if (x % 2 == 0): print('even') else: print('odd') # Driver code to call the function evenOdd(2) evenOdd(3)> Ieșire:
even odd>
Tipuri de argumente ale funcției Python
Python acceptă diverse tipuri de argumente care pot fi transmise în momentul apelului funcției. În Python, avem următoarele tipuri de argumente ale funcției în Python:
- Argument implicit
- Argumente de cuvinte cheie (argumente denumite)
- Argumente poziționale
- Argumente arbitrare (argumente cu lungime variabilă *args și **kwargs)
Să discutăm fiecare tip în detaliu.
Argumente implicite
A argument implicit este un parametru care își asumă o valoare implicită dacă o valoare nu este furnizată în apelul funcției pentru acel argument. Următorul exemplu ilustrează argumentele implicite pentru a scrie funcții în Python.
Python3 # Python program to demonstrate # default arguments def myFun(x, y=50): print('x: ', x) print('y: ', y) # Driver code (We call myFun() with only # argument) myFun(10)> Ieșire:
x: 10 y: 50>
Ca și argumentele implicite C++, orice număr de argumente dintr-o funcție poate avea o valoare implicită. Dar odată ce avem un argument implicit, toate argumentele din dreapta lui trebuie să aibă și valori implicite.
Argumentele cuvintelor cheie
Ideea este de a permite apelantului să specifice numele argumentului cu valori, astfel încât apelantul să nu fie nevoie să-și amintească ordinea parametrilor.
Python3 # Python program to demonstrate Keyword Arguments def student(firstname, lastname): print(firstname, lastname) # Keyword arguments student(firstname='Geeks', lastname='Practice') student(lastname='Practice', firstname='Geeks')>
Ieșire:
Geeks Practice Geeks Practice>
Argumente poziționale
Noi am folosit Argumentul poziției în timpul apelului de funcție, astfel încât primul argument (sau valoare) este atribuit numelui și al doilea argument (sau valoare) este atribuit vârstei. Prin schimbarea poziției sau dacă uitați ordinea pozițiilor, valorile pot fi folosite în locuri greșite, așa cum se arată în exemplul Cazul 2 de mai jos, unde 27 este atribuit numelui și Suraj este atribuit vârstei.
Python3 def nameAge(name, age): print('Hi, I am', name) print('My age is ', age) # You will get correct output because # argument is given in order print('Case-1:') nameAge('Suraj', 27) # You will get incorrect output because # argument is not in order print('
Case-2:') nameAge(27, 'Suraj')> Ieșire:
Case-1: Hi, I am Suraj My age is 27 Case-2: Hi, I am 27 My age is Suraj>
Argumente de cuvinte cheie arbitrare
În Python Arbitrary Keyword Arguments, *args și **kwargs poate transmite un număr variabil de argumente unei funcții folosind simboluri speciale. Există două simboluri speciale:
- *args în Python (Argumente fără cuvinte cheie)
- **kwargs în Python (Argumente ale cuvintelor cheie)
Exemplul 1: Argument de lungime variabilă non-cuvinte cheie
Python3 # Python program to illustrate # *args for variable number of arguments def myFun(*argv): for arg in argv: print(arg) myFun('Hello', 'Welcome', 'to', 'techcodeview.com')> Ieșire:
Hello Welcome to techcodeview.com>
Exemplul 2: Argumente de cuvinte cheie de lungime variabilă
comenzi linux carePython3
# Python program to illustrate # *kwargs for variable number of keyword arguments def myFun(**kwargs): for key, value in kwargs.items(): print('%s == %s' % (key, value)) # Driver code myFun(first='Geeks', mid='for', last='Geeks')> Ieșire:
first == Geeks mid == for last == Geeks>
Docstring
Primul șir după funcție se numește șirul de document sau Docstring în scurt. Acesta este folosit pentru a descrie funcționalitatea funcției. Utilizarea docstring în funcții este opțională, dar este considerată o bună practică.
Sintaxa de mai jos poate fi utilizată pentru a tipări șirul document al unei funcții.
Syntax: print(function_name.__doc__)>
Exemplu: Adăugarea Docstring la funcție
ml la ozPython3
# A simple Python function to check # whether x is even or odd def evenOdd(x): '''Function to check if the number is even or odd''' if (x % 2 == 0): print('even') else: print('odd') # Driver code to call the function print(evenOdd.__doc__)> Ieșire:
Function to check if the number is even or odd>
Funcția Python în funcții
O funcție care este definită în interiorul unei alte funcții este cunoscută sub numele de functie interioara sau funcție imbricată . Funcțiile imbricate pot accesa variabile din domeniul de aplicare. Funcțiile interioare sunt folosite astfel încât să poată fi protejate de tot ce se întâmplă în afara funcției.
Python3 # Python program to # demonstrate accessing of # variables of nested functions def f1(): s = 'I love techcodeview.com' def f2(): print(s) f2() # Driver's code f1()>
Ieșire:
I love techcodeview.com>
Funcții anonime în Python
În Python, an functie anonima înseamnă că o funcție este fără nume. După cum știm deja, cuvântul cheie def este folosit pentru a defini funcțiile normale, iar cuvântul cheie lambda este folosit pentru a crea funcții anonime.
Python3 # Python code to illustrate the cube of a number # using lambda function def cube(x): return x*x*x cube_v2 = lambda x : x*x*x print(cube(7)) print(cube_v2(7))>
Ieșire:
343 343>
Funcții recursive în Python
Recursiune în Python se referă la momentul în care o funcție se autoapelează. Există multe cazuri când trebuie să construiți o funcție recursivă pentru a o rezolva Probleme matematice și recursive.
Utilizarea unei funcții recursive trebuie făcută cu prudență, deoarece o funcție recursivă poate deveni ca o buclă care nu se încheie. Este mai bine să verificați declarația de ieșire în timp ce creați o funcție recursivă.
Python3 def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) print(factorial(4))>
Ieșire
24>
Aici am creat o funcție recursivă pentru a calcula factorialul numărului. Puteți vedea că declarația finală pentru această funcție este atunci când n este egal cu 0.
Declarație return în funcția Python
Instrucțiunea de returnare a funcției este utilizată pentru a ieși dintr-o funcție și a reveni la apelantul funcției și a returna apelantului valoarea specificată sau elementul de date. Sintaxa pentru instrucțiunea return este:
return [expression_list]>
Instrucțiunea return poate consta dintr-o variabilă, o expresie sau o constantă care este returnată la sfârșitul execuției funcției. Dacă niciuna dintre cele de mai sus nu este prezentă cu instrucțiunea return, este returnat un obiect None.
Exemplu: Declarație de returnare a funcției Python
Python3 def square_value(num): '''This function returns the square value of the entered number''' return num**2 print(square_value(2)) print(square_value(-4))>
Ieșire:
enumerari java
4 16>
Treci după referință și Treci după valoare
Un lucru important de remarcat este că în Python fiecare nume de variabilă este o referință. Când trecem o variabilă unei funcții Python, este creată o nouă referință la obiect. Transmiterea parametrilor în Python este aceeași cu transmiterea referințelor în Java.
Python3 # Here x is a new reference to same list lst def myFun(x): x[0] = 20 # Driver Code (Note that lst is modified # after function call. lst = [10, 11, 12, 13, 14, 15] myFun(lst) print(lst)>
Ieșire:
[20, 11, 12, 13, 14, 15]>
Când trecem o referință și schimbăm referința primită cu altceva, conexiunea dintre parametrii trecuți și primiți este întreruptă. De exemplu, luați în considerare programul de mai jos, după cum urmează:
Python3 def myFun(x): # After below line link of x with previous # object gets broken. A new object is assigned # to x. x = [20, 30, 40] # Driver Code (Note that lst is not modified # after function call. lst = [10, 11, 12, 13, 14, 15] myFun(lst) print(lst)>
Ieșire:
[10, 11, 12, 13, 14, 15]>
Un alt exemplu demonstrează că legătura de referință este întreruptă dacă atribuim o nouă valoare (în interiorul funcției).
Python3 def myFun(x): # After below line link of x with previous # object gets broken. A new object is assigned # to x. x = 20 # Driver Code (Note that x is not modified # after function call. x = 10 myFun(x) print(x)>
Ieșire:
10>
Exercițiu: Încercați să ghiciți rezultatul următorului cod.
Python3 def swap(x, y): temp = x x = y y = temp # Driver code x = 2 y = 3 swap(x, y) print(x) print(y)>
Ieșire:
2 3>
Legături rapide
- Test despre funcțiile Python
- Diferența dintre metodă și funcție în Python
- Funcții de primă clasă în Python
- Articole recente despre funcțiile Python .
Întrebări frecvente- Funcții Python
Î1. Ce este funcția în Python?
Funcția Python este un bloc de cod, care rulează numai atunci când este apelată. Este programat să returneze sarcina specifică. Puteți trece valori în funcții numite parametri. Ajută la îndeplinirea sarcinilor repetitive.
Q2. Care sunt cele 4 tipuri de funcții în Python?
Principalele tipuri de funcții în Python sunt:
- Funcție încorporată
- Funcție definită de utilizator
- Funcții lambda
- Funcții recursive
Q3. H Cum să scrieți o funcție în Python ?
Pentru a scrie o funcție în Python, puteți folosi cuvântul cheie def și apoi scrieți numele funcției. Puteți furniza codul funcției după utilizare ':'. Sintaxa de bază pentru definirea unei funcții este:
def nume_funcție():
#afirmație
Î4. Care sunt parametrii unei funcții în Python?
Parametrii din Python sunt variabilele care iau valorile transmise ca argumente la apelarea funcțiilor. O funcție poate avea orice număr de parametri. De asemenea, puteți seta valoarea implicită la un parametru în Python.