Cum să apelați o funcție în Python: Ghidul final

Funcțiile sunt un concept esențial în programare, care vă permite să gestionați și să reutilizați blocuri de cod. A ști cum să apelezi o funcție în Python este o abilitate cheie de învățat.

În acest tutorial, veți învăța elementele de bază ale funcțiilor de apelare, împreună cu câteva sfaturi pentru scrierea unui cod eficient, care este mai ușor de înțeles.

Funcțiile de stăpânire nu numai că vă vor ajuta să creați cod mai versatil, ci și să vă simplificați procesul de programare și să vă îmbunătățiți eficiența generală ca dezvoltator.

Funcțiile au aceleași principii de bază și, odată ce stăpâniți funcțiile în Python, vă veți putea extinde înțelegerea funcțiilor în comparație cu alte limbaje de programare precum Java, R, JavaScript, PHP etc.

Cum să apelați o funcție în Python: Ghidul final

Cuprins

Ce este o funcție?

O funcție din Python vă permite să creați bucăți de cod reutilizabile care pot fi apelate în întregul program, simplificând codul și îmbunătățind lizibilitatea. Îndeplinește o anumită sarcină sau un set de sarcini și poate fi apelat de mai multe ori în cadrul unui program. 

Definirea unei funcții în Python

Există două categorii principale de funcții în Python:

  • Funcții definite de utilizator: Funcții pe care un programator le definește pentru a evita repetarea codului
  • Funcții încorporate : funcții care sunt definite de altcineva și pot fi utilizate în codul dvs. după instalarea pachetelor necesare

Această secțiune a tutorialului Python se concentrează pe funcțiile definite de utilizator. Veți învăța:

  • Cum se definește o funcție în Python
  • Sintaxa funcției
  • Cum să folosiți parametrii și argumentele

Sintaxa funcției

Cuvântul def cheie, urmat de numele funcției și paranteze, vă permite să definiți o funcție în Python. Corpul funcției este indentat și conține codul care trebuie executat atunci când funcția este apelată. Un exemplu de funcție de bază în Python este dat mai jos:

def greet(): print("Bună ziua, lume!") salut()

Cuvântul def cheie definește o nouă funcție cu numele salut. A treia linie de cod invocă funcția, care execută codul în interiorul funcției.

Cum să apelați o funcție în Python: Ghidul final

Linia printdin codul de mai sus este, de asemenea, o funcție. Cu toate acestea, dacă lucrați într-un mediu Python 2, acesta este definit ca o declarație. Mai târziu, în Python 3, a fost schimbat de la instrucțiune la o funcție.

Parametri și argumente

Parametrii sunt substituenții din definiția funcției, în timp ce argumentele sunt valorile transmise la apelarea funcției.

Pentru a specifica parametrii, includeți-i în parantezele definiției funcției, separați prin virgule dacă există mai mulți parametri. Când apelați o funcție, furnizați valorile de intrare numite argumente. Următorul exemplu demonstrează definirea unei funcții care ia doi parametri:

def add_numbers(a, b): returnează a+b

Declarația return din corpul funcției returnează adăugarea celor două argumente trecute în ea. Vă puteți gândi la el ca la un calculator, în care introduceți valori și obțineți rezultatul dorit în schimb.

După definirea funcției, o putem apela cu argumente la alegere.

add_numbers(3, 5)

Cum să apelați o funcție în Python: Ghidul final

Argumentul kwargs

kwargs este prescurtarea pentru „argumente cuvinte cheie” în Python. Vă permite să extindeți flexibilitatea unei funcții, permițând apelantului să specifice orice număr de argumente de cuvinte cheie atunci când apelează funcția. Argumentele cuvintelor cheie sunt transmise funcției ca dicționar.

Într-o definiție de funcție, puteți utiliza **sintaxa cu asterisc dublu înaintea numelui parametrului pentru a accepta argumente ale cuvintelor cheie.

def my_function(**kwargs): pentru cheie, valoare în kwargs.items(): print(f"{key} = {value}") my_function(a=1, b=2, c=3)

În acest exemplu, kwargs va fi un dicționar care conține argumentele cuvintelor cheie transmise funcției. Ieșirea este prezentată în imaginea de mai jos:

Cum să apelați o funcție în Python: Ghidul final

Apelarea unei funcții

Apelarea unei funcții înseamnă executarea codului în corpul funcției. Există patru tipuri de apeluri de funcții în Python:

  • Apelul funcției de bază
  • Apel cu argumente poziționale
  • Apelare cu argumente de cuvinte cheie

Apelul funcției de bază

Un apel de funcție de bază invocă funcția fără a trece niciun argument în funcție. După definirea unei funcții, o puteți apela folosind numele acesteia urmat de paranteze.

Dacă funcția nu primește niciun argument, parantezele vor fi goale. Codul de mai jos este un exemplu de funcție de bază.

def welcome_message(): print("Bine ați venit la LuckyTemplates!") welcome_message()

Rularea codului de mai sus dă următoarea ieșire:

Cum să apelați o funcție în Python: Ghidul final

Argumente poziționale

Argumentele poziționale sunt cel mai comun tip de argument și sunt transmise funcției în aceeași ordine în care sunt specificate. Următorul este un exemplu de apel de funcție cu argumente poziționale:

def welcome_message(nume): print(f"Bine ați venit la LuckyTemplates, {nume}!") welcome_message("Ioan")

În exemplul de mai sus, welcome_message()funcția ia un argument, name. Când apelați această funcție cu argumentul John, va tipări mesajul lângă nume.

Codul de mai sus oferă următoarea ieșire:

Cum să apelați o funcție în Python: Ghidul final

Argumentele cuvintelor cheie

O altă modalitate de a transmite argumente unei funcții este prin utilizarea argumentelor cuvintelor cheie. Argumentele cuvintelor cheie vă permit să specificați numele parametrului împreună cu valoarea acestuia, făcând codul mai lizibil și reducând șansa de a trece argumente în ordine greșită. 

Exemplul de mai jos folosește argumente de cuvinte cheie pentru a apela welcome_messagefuncția:

def welcome_message(name, message='Bine ați venit la LuckyTemplates!'): print(mesaj, nume) welcome_message(name='Alice', message='Bună dimineața')

În acest exemplu, am definit o funcție welcome_message()care are doi parametri, nameși message. Parametrul mesaj are un argument implicit de Welcome to LuckyTemplates!Când apelăm funcția, folosim argumente cheie pentru a transmite valoarea John, rezultând rezultatulWelcome to LuckyTemplates! John.

Cum să apelați o funcție în Python: Ghidul final

Valori returnate

Când lucrați cu funcții, veți dori adesea să returnați rezultatul operațiilor în corpul funcției dvs. Valorile returnate permit unei funcții să trimită un rezultat înapoi apelantului. Înțelegând cum să lucrați cu valori de returnare unice și multiple, puteți îmbunătăți funcționalitatea programelor dvs. Python.

Valoarea unică de returnare

O singură funcție de returnare a valorii returnează o valoare din operațiunile dintr-o funcție.

Un exemplu de funcție cu valoare returnată unică este dat mai jos:

def get_greeting(nume): return "Bună ziua," + nume + "!" salut = get_greeting("Alice") print(salut)

În exemplul de mai sus, funcția get_greetingia un nume deoarece argumentul funcției îl compilează și returnează un salut personalizat. Valoarea returnată este apoi stocată în variabila salut și tipărită pe consolă.

Cum să apelați o funcție în Python: Ghidul final

Valori de returnare multiple

Uneori, vi se va cere să returnați mai mult de o valoare dintr-o funcție în Python. Pentru a realiza acest lucru, puteți utiliza un tuplu sau o listă pentru a încheia valorile returnate.

Următorul este un exemplu de funcție a mai multor valori returnate în limbajul de programare Python.

def get_name_and_age(): return ("Ioan", 30) nume, varsta = get_name_and_age() print(nume) print(varsta)

Cum să apelați o funcție în Python: Ghidul final

În acest exemplu, get_name_and_ageeste o funcție care returnează un tuplu cu două valori: a name și an age.

De asemenea, puteți returna o listă de valori dintr-o funcție în Python . Funcția de mai jos demonstrează o valoare returnată de listă de la o funcție.

def calculate_areas(înălțime, lățime): returnează [înălțime * lățime, (înălțime * lățime) / 2] zonă, triunghi_zonă = calcule_zone(10, 5) print(area) print(area_triunghi)

Cum să apelați o funcție în Python: Ghidul final

În acest caz, funcția calculate_areasia două argumente, height, și width, și returnează o listă care conține aria unui dreptunghi și aria unui triunghi.

Transmiterea funcțiilor Python ca argumente

Python vă permite să transmiteți funcții ca argumente altor funcții. Când o funcție acceptă o altă funcție ca argument, se face referire la ea ca o funcție de ordin superior.

Codul de mai jos este un exemplu de transmitere a unei funcții către o altă funcție în Python:

def square(x): return x * x def double(x): return x * 2 def apply_func(func, x): return func(x) rezultat = apply_func(square, 5)

Cum să apelați o funcție în Python: Ghidul final

Funcții imbricate

Funcțiile imbricate sunt funcții definite în cadrul unei alte funcții, cunoscute și ca funcții interioare. Acestea pot fi utile atunci când se creează închideri și cod modular. 

Pentru a crea o funcție imbricată, definiți pur și simplu o funcție într-o altă funcție:

def outer_function(x, y): def inner_function(z): return x + y + z result = inner_function(3) return result # Apelați funcția exterioară print(outer_function(1, 2))

În exemplul de mai sus, inner_function este definită în outer_function. Funcția interioară are acces la variabilele funcției exterioare, permițându-i să efectueze operații asupra acestora.

Cum să apelați o funcție în Python: Ghidul final

Funcții Lambda

Funcțiile Lambda, cunoscute și ca funcții anonime, sunt o modalitate de a crea funcții mici, de unică folosință, în Python. În proiectele de știință a datelor, veți lucra adesea cu funcții Lambda pentru a crea structuri de date și conducte eficiente.

Pentru a crea o funcție lambda, puteți utiliza cuvântul cheie lambda urmat de o listă de argumente, două puncte și apoi o expresie. Expresia este ceea ce funcția lambda va returna odată ce este apelată. Următorul este un exemplu de funcție lambda în Python:

adaugă = lambda a, b: a + b rezultat = add(3, 4) print(rezultat) # Ieșire: 7

În exemplul de mai sus, am creat o funcție lambda care ia două argumente ( a și b) și returnează suma lor. Am atribuit această funcție lambda unei variabile numite add.

Cum să apelați o funcție în Python: Ghidul final

Lambda poate fi utilă în următoarele scenarii:

  • Ca argumente pentru funcții de ordin superior precum map(), filter() și sorted().
  • Ca funcții cheie atunci când sortați liste sau dicționare.

Următorul exemplu demonstrează utilizarea funcției de ordin superior filter() cu lambda:

numere = [1, 2, 3, 4, 5, 6, 7, 8, 9] numere_pare = listă(filtru(lambda x: x % 2 == 0, numere)) print(numere_pare) # Ieșire: [2, 4, 6, 8]


În acest exemplu, am folosit o funcție lambda pentru a defini criteriile de filtrare pentru funcția filter(). Funcția lambda verifică dacă un număr este par, iar funcția filter() returnează o nouă listă care conține doar numerele pare.

Cum să apelați o funcție în Python: Ghidul final

Pentru a vedea un exemplu despre modul în care funcțiile pot fi utile în diferite scenarii de știință a datelor, verificați videoclipul de mai jos:

Recursiune

Recursiunea este o tehnică de programare în care o funcție se numește singură. Aceasta poate fi o modalitate utilă de a rezolva probleme complexe prin împărțirea lor în subprobleme mai mici, identice.

Când creați o funcție recursivă, trebuie să aveți în vedere două lucruri: cazul de bază și cazul recursiv. 

  • Cazul de bază este condiția care oprește recursiunea
  • Cazul recursiv este în care funcția se autoapelează. Cazul recursiv acționează ca un iterator pentru funcție

Următorul exemplu demonstrează funcțiile recursive în Python:

def factorial(n): dacă n == 1: returnează 1 return n * factorial(n - 1) factorial(5)

În acest exemplu, cazul de bază este when n == 1, iar funcția returnează 1. Cazul recursiv apare atunci când n nu este egal cu 1, iar funcția se autoinvocă cu n - 1.

Cum să apelați o funcție în Python: Ghidul final

Erori comune și depanare

Dacă sunteți un programator începător, veți întâlni adesea erori atunci când implementați funcții precum funcțiile recursive și lambda. Următoarele secțiuni evidențiază câteva erori comune și sfaturi de depanare pentru a vă ajuta să le rezolvați eficient.

1. TypeError: lipsește un argument obligatoriu : Această eroare apare atunci când nu furnizați numărul corect de argumente pe care funcția le așteaptă.

def my_function(fname, lname): print(fname, lname) # Apel corect my_function("Ioan", "Doe") # Va genera o eroare my_function("Ioan")

Cum să apelați o funcție în Python: Ghidul final

Pentru a remedia această eroare, asigurați-vă că treceți numărul corect de argumente funcției dvs.

2. TypeError: tip de operand neacceptat . Această eroare poate apărea atunci când încercați să utilizați un operator cu tipuri incompatibile.

def add_number(a, b): return a + b # Rezultat apel corect = add_number(5, 3) print(rezultat) # Va genera o eroare din cauza argumentelor incorecte rezultat = add_number("5", 3) print(rezultat)

Cum să apelați o funcție în Python: Ghidul final

Pentru a remedia această eroare, verificați dacă funcțiile dvs. au de-a face cu tipurile de date potrivite și luați în considerare utilizarea tipului de turnare dacă este necesar

3. NameError: numele „function_name” nu este definit : Această eroare sugerează că funcția nu a fost definită înainte de a fi apelată. 

# Ordine corectă def greet(): print("Bună ziua, acolo!") greet() # Ordine incorectă la revedere() def la revedere(): print("La revedere!")

Cum să apelați o funcție în Python: Ghidul final

Pentru a remedia această eroare, asigurați-vă că funcția dvs. este definită corect și că o apelați după definirea ei.

Concluzie

Pentru a recapitula și a vă ajuta să vă consolidați înțelegerea, următoarele puncte rezumă aspectele cheie ale funcțiilor de apelare în Python:

  • Pentru a apela o funcție, utilizați numele funcției urmat de paranteze (de exemplu, function_name()).
  • Dacă funcția preia argumente, includeți-le între paranteze (de exemplu, function_name(arg1, arg2)).
  • Puteți crea propriile funcții folosind cuvântul cheie def, definind domeniul de aplicare al funcției și orice argument necesar.
  • Când apelați o funcție care returnează o valoare, puteți atribui rezultatul unei variabile pentru o utilizare ulterioară (de exemplu, result = function_name(args)).

Leave a Comment

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Cum să salvați și să încărcați un fișier RDS în R

Cum să salvați și să încărcați un fișier RDS în R

Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.

Introducere la filtrarea contextului în LuckyTemplates

Introducere la filtrarea contextului în LuckyTemplates

În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.

Idei de materializare pentru cache-urile de date în DAX Studio

Idei de materializare pentru cache-urile de date în DAX Studio

Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.

Raportare de afaceri folosind LuckyTemplates

Raportare de afaceri folosind LuckyTemplates

Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți