Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
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.
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:
Această secțiune a tutorialului Python se concentrează pe funcțiile definite de utilizator. Veți învăța:
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.
Linia print
din 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)
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:
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ă
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:
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:
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_message
funcț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.
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_greeting
ia 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ă.
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)
În acest exemplu, get_name_and_age
este 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)
În acest caz, funcția calculate_areas
ia 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)
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.
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
.
Lambda poate fi utilă în următoarele scenarii:
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.
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.
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
.
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")
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)
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!")
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:
function_name()
).function_name(arg1, arg2)
).result = function_name(args)
).Ce este Sinele în Python: Exemple din lumea reală
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.
Î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.
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.
Î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.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
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.
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.
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