Cum să apelați o funcție în Python (Exemplu)

În ce este Funcția Python?

A Functioneaza in Python este o bucată de cod care rulează atunci când este referită. Este folosit pentru a utiliza codul în mai multe locuri dintr-un program. Se mai numește și metodă sau procedură. Python oferă multe funcții încorporate precum print(), input(), compile(), exec(), etc. dar oferă și libertatea de a crea propriile funcții.

Cum să definiți și să apelați o funcție în Python

Functioneaza in Python este definit de „def” instrucțiune urmată de numele funcției și paranteze (())

Exemplu:

Să definim o funcție utilizând comanda „def func1():” și să apelăm funcția. Ieșirea funcției va fi "Învăț Python funcţie".

Definiți și apelați o funcție în Python

Funcția print func1() apelează funcția noastră def func1(): și imprimă comanda ” Învăț Python funcția Niciuna.

Există un set de reguli în Python pentru a defini o funcție.

  • Orice argumente sau parametri de intrare ar trebui să fie plasați în aceste paranteze
  • Prima instrucțiune a funcției poate fi o instrucțiune opțională - docstring sau șirul de documentație al funcției
  • Codul din fiecare funcție începe cu două puncte (:) și ar trebui să fie indentat (spațiu)
  • Instrucțiunea return (expresie) iese dintr-o funcție, opțional trecând înapoi o valoare apelantului. O instrucțiune return fără argumente este aceeași cu return None.

Semnificația indentării (spațiu) în Python

Înainte de a ne familiariza cu Python funcții, este important să înțelegem regula de indentare pentru a declara Python funcții și aceste reguli sunt aplicabile altor elemente ale Python precum și declararea condițiilor, buclelor sau variabilelor.

Python urmează un anumit stil de indentare pentru a defini codul, deoarece Python funcțiile nu au început sau sfârșit explicit, cum ar fi acolade, pentru a indica începutul și oprirea funcției, trebuie să se bazeze pe această indentație. Aici luăm un exemplu simplu cu comanda „print”. Când scriem funcția „printare” chiar sub funcția def 1 (): va afișa un „eroare de indentare: se aștepta un bloc indentat".

Definiți și apelați o funcție în Python

Acum, când adăugați indentarea (spațiul) în fața funcției „printare”, ar trebui să se imprime așa cum era de așteptat.

Definiți și apelați o funcție în Python

Cel puțin, o liniuță este suficientă pentru ca codul să funcționeze cu succes. Dar, ca cea mai bună practică, este recomandabil să lăsați aproximativ 3-4 liniuțe pentru a vă apela funcția.

De asemenea, este necesar ca în timp ce declarați indentarea, trebuie să faceți acest lucru păstrați aceeași indentare pentru restul codului dvs. De exemplu, în captura de ecran de mai jos, când numim o altă instrucțiune „încă în func1” și când nu este declarată chiar sub prima instrucțiune de tipărire, va afișa o eroare de indentare „unindent nu se potrivește cu niciun alt nivel de indentare.”

Definiți și apelați o funcție în Python

Acum, când aplicăm aceeași indentare pentru ambele declarații și le aliniem pe aceeași linie, dă rezultatul așteptat.

Definiți și apelați o funcție în Python

Cum funcţionează valoarea returnată?

Returnați comanda în Python specifică ce valoare să restituie apelantului funcției. Să înțelegem asta cu următorul exemplu

Pasul 1) Funcția nu returnează nimic

Aici – vedem când funcția nu este „întoarcere”. De exemplu, vrem pătratul lui 4 și ar trebui să dea răspunsul „16” atunci când codul este executat. Ceea ce ne dă atunci când pur și simplu folosim codul „print x*x”, dar când apelați funcția „print square” dă „Niciunul” ca rezultat. Acest lucru se datorează faptului că atunci când apelați funcția, recursiunea nu are loc și se încadrează la sfârșitul funcției. Python returnează „Niciuna” pentru a eșua la sfârșitul funcției.

Valoarea de returnare a funcției

Pasul 2) Înlocuiți comanda de imprimare cu comanda de atribuire

Pentru a face acest lucru mai clar, înlocuim comanda de imprimare cu comanda de atribuire. Să verificăm rezultatul.

Valoarea de returnare a funcției

Când rulați comanda „print square (4)”, returnează de fapt valoarea obiectului, deoarece nu avem nicio funcție specifică de rulat aici, returnează „Niciuna”.

Pasul 3) Utilizați funcția „retur” și executați codul

Acum, aici vom vedea cum să recuperăm rezultatul folosind comanda „return”. Când utilizați funcția „întoarcere” și executați codul, acesta va da ieșirea „16”.

Valoarea de returnare a funcției

Pasul 4) Rulați comanda „print square”

Functioneaza in Python sunt ei înșiși un obiect, iar un obiect are o anumită valoare. Vom vedea aici cum Python tratează un obiect. Când rulați comanda „print square”, returnează valoarea obiectului. Deoarece nu am transmis niciun argument, nu avem nicio funcție specifică de rulat aici, returnează o valoare implicită (0x021B2D30) care este locația obiectului. In practica Python program, probabil că nu va trebui să faceți asta niciodată.

Valoarea de returnare a funcției

Argumente în funcții

Argumentul este o valoare care este transmisă funcției atunci când este apelată.

Cu alte cuvinte, pe partea apelantă, este un argument, iar pe partea funcției este un parametru.

Să vedem cum Python Args funcționează -

Pas 1) Argumentele sunt declarate în definiția funcției. În timp ce apelați funcția, puteți transmite valorile pentru acele argumente așa cum se arată mai jos

Argumente în funcții

Pas 2) Pentru a declara o valoare implicită a unui argument, atribuiți-i o valoare la definiția funcției.

Argumente în funcții

Exemplu: x nu are valori implicite. Valorile implicite ale lui y=0. Când furnizăm un singur argument în timp ce apelăm funcția de multiplicare, Python atribuie valoarea furnizată lui x păstrând în același timp valoarea y=0. Prin urmare, înmulțirea lui x*y=0

definiți și apelați o funcție în Python

Pas 3) De data aceasta vom schimba valoarea la y=2 în loc de valoarea implicită y=0 și va returna rezultatul ca (4×2)=8.

Argumente în funcții

Pas 4) De asemenea, puteți modifica ordinea în care pot fi transmise argumentele Python. Aici am inversat ordinea valorii x și y la x=4 și y=2.

Argumente în funcții

Pas 5) Argumentele multiple pot fi, de asemenea, transmise ca o matrice. Aici, în exemplu, numim argumentele multiple (1,2,3,4,5) apelând funcția (*args).

Exemplu: Am declarat mai multe argumente ca număr (1,2,3,4,5) când apelăm funcția (*args); imprimă rezultatul ca (1,2,3,4,5)

Argumente în funcții

sfaturi:

  • In Python 2.7. supraîncărcarea funcției nu este suportat în Python. Supraîncărcarea funcției este capacitatea de a crea mai multe metode cu același nume cu o implementare diferită. Supraîncărcarea funcției este complet acceptată în Python 3
  • Există o confuzie destul de mare între metode și funcții. Metode în Python sunt asociate cu instanțele de obiect în timp ce funcția nu sunt. Când Python apelează o metodă, leagă primul parametru al apelului respectiv la referința obiectului corespunzătoare. Cu cuvinte simple, o funcție de sine stătătoare în Python este o „funcție”, în timp ce o funcție care este un atribut al unei clase sau al unei instanțe este o „metodă”.

Iată completul Python 3 cod

#define a function
def func1():
   print ("I am learning Python function")
   print ("still in func1")
   
func1()

def square(x):
  	return x*x
print(square(4))

def multiply(x,y=0):
	print("value of x=",x)
	print("value of y=",y)
    
	return x*y
  
print(multiply(y=2,x=4))

Iată completul Python 2 cod

#define a function
def func1():
   print " I am learning Python function"
   print " still in func1"
   
func1()

def square(x):
  	return x*x
print square(4)

def multiply(x,y=0):
	print"value of x=",x
	print"value of y=",y
    
	return x*y
  
print multiply(y=2,x=4)

Rezumat

Functioneaza in Python este o bucată de cod reutilizabilă care este utilizată pentru a efectua o singură acțiune asociată. În acest articol, vom vedea

  • Funcție definită de Def declaraţie
  • Blocul de cod din fiecare funcție începe cu două puncte (:) și ar trebui să fie indentat (spațiu)
  • Orice argumente sau parametri de intrare ar trebui să fie plasați în aceste paranteze etc.
  • Cel puțin o liniuță trebuie lăsată înaintea codului după declararea funcției
  • Același stil de indentare ar trebui menținut în tot codul în cadrul funcției def
  • Pentru cele mai bune practici, trei sau patru liniuțe sunt considerate cele mai bune înainte de declarație
  • Puteți utiliza comanda „return” pentru a returna valori la apelul de funcție.
  • Python va imprima o valoare aleatorie precum (0x021B2D30) atunci când argumentul nu este furnizat funcției de apelare. Exemplu „funcție de imprimare”.
  • Pe partea apelantă, este un argument, iar pe partea funcției este un parametru
  • Valoarea implicită în argument – ​​Când furnizăm un singur argument în timp ce apelăm funcția de multiplicare sau orice altă funcție, Python atribuie celălalt argument în mod implicit
  • Python vă permite să inversați și ordinea argumentului

Rezumați această postare cu: