GirlsGoIT Wiki (ro)
RU
  • Introducere
  • Unelte
    • Slack
    • Visual Studio Code
    • CodeSandbox
      • Cum rezolvi un task la proiect
      • Cum rezolvi un exercițiu
    • GitHub
  • FRONTEND STATIC
    • Internet
    • HTML
    • CSS
    • Exerciții
      • Erontend Static Exercitii
  • FRONTEND DINAMIC
    • JavaScript
      • Introducere
      • Consola Browser'ului
      • Variabile
      • Tipuri de date
      • Operatori
      • JavaScript & HTML
      • Funcții
      • DOM & Window API
      • Math API
      • Condiționale (if)
      • Cicluri (for & while)
    • Vue.js
      • Componente Vue
      • Componente & Forme
      • Lifecycle hooks
      • Comunicare între componente
      • Vue Router
      • Axios
      • Instalare locală
    • Exercitii
    • Rest API
      • Rest api GET
      • Rest api GET one
      • Rest api POST
      • Rest api PUT
      • Rest api DELETE
  • PYTHON
    • Introducere
    • Variabile
    • Tipuri de Date
    • Operatori
    • Control Flow
    • Liste
    • Cicluri for
    • Funcții
    • Dictionare
    • Seturi
    • Fișiere
    • Try-except-finally. Lambda
    • Librării, module
    • Exercitii
      • Variabile
      • TIpuri de Date
      • Operatori
      • If...else
      • Liste
      • Cicluri for
      • Funcții
      • Dicționare
      • Seturi
      • Fișiere
      • Try-except, Lambda
      • Librării , module
      • ✨Mai multe exerciții ✨
    • Python Archiva
  • BACKEND
    • Instalare Python
    • Python OOP
    • Baze de date
    • Django
    • REST API's
    • Django REST Framework
    • Exerciții
      • Python OOP
      • Django
      • Django Rest Framework
  • Data Science
    • Introducere în Data Science
    • Vizualizarea datelor
      • Matplotlib
    • Numpy
    • Pandas
    • DecisionTrees
  • 3D Printing
    • Intro
    • Fusion 360 Intro
    • Sketch
    • Solid body
    • Arduino
    • Final Projects
  • ARHIVA
    • Milligram
    • Drone
      • Intro
    • Old Backend
      • Bootstrap
      • Hello Flask
      • DB Modeling
      • Ubuntu Quest
      • Baze de date
      • Heroku Deploy
    • Robotica NAO
      • Finalizarea proiectelor
      • Flow Control
      • Cum creez un Dialog box
      • Convenția GirlsGoIT Robotics Choregraphe
      • Tracker
      • Dialog - QiChat
    • Robotica
      • 1.1 mBlock
      • 1.2 Descărcarea, instalarea și conectarea
      • 1.3 Execută un program de pe mBlock IDE sau încarcă pe Board
      • 1.4 Conectarea prin USB, Bluetooth sau 2.4GHz
      • 2.1 Programe Simple
      • 2.2 Senzori
      • 2.3 Exerciții avansate - Scratch
      • 3.0.1 Instalare Arduino IDE
      • 3.0.2 Instalare Arduino IDE WEB
      • 3.1 Configurare Arduino IDE
      • 3.2 Introducere în limbajul C
      • 3.3 Exemple Arduino - mBot
      • 3.4 Line follow - Arduino
      • 3.5 Ultimate robot
      • 4.1 Planificarea și managementul proiectelor
      • Custom robot
      • Noțiuni și explicații
      • Delay fara sa opreasca programul
      • Alte resurse și exemple
Powered by GitBook
On this page
  • Sintaxa funcțiilor
  • Positional Arguments
  • Keyword Arguments
  • Default Arguments
  • Returnarea unei valori
  1. PYTHON

Funcții

Funcția în Python are numai o funcție: de a fi funcțională!

PreviousCicluri forNextDictionare

Last updated 3 years ago

Funcțiile sunt foarte utile pentru reutilizarea codului. Acestea ne permit să definim un bloc de cod care poate fi utilizat în mod repetat într-un program.

Python oferă mai multe funcții încorporate, cum ar fi print (), len () sau type (), dar putem defini propriile funcții pe care să le utilizăm în cadrul programelor.

Funcția reprezintă un bloc de cod care cere un input, îl prelucrează, și-l returnează sub formă de output. Cu alte cuvinte, funcția cere de la noi careva parametri cu care face niște operații. În urma acestor operații efectuate asupra parametrilor, funcția ne returnează rezultatul dorit.

Pe scurt:

  • O funcție este un bloc de cod, ce poate fi folosit mai târziu în program.

  • Structura funcției ține cont de indentarea codului.

  • Este folosit pentru reducerea volumului și izolarea de cod scris.

Sintaxa funcțiilor

Funcțiile sunt constituite din două componente.

# def numele_funcției(<argumentele folosite în funcție, despărțite prin virgilă>):
#    <instrucțiuni>

#numele_funcției()

1️⃣ Primul component este header-ul funcției, care include: cuvântul-cheie def, numele funcției și parametrii pe care-i transmiteți funcției. Parametrii sunt opționali.

2️⃣ Al doilea component este corpul funcției, care descrie, propriu-zis, ce face funcția voastră. Corpul funcției trebuie să fie indentat, la fel ca și în cazul instrucțiunilor condiționale. (Vă amintiți de indentarea condiționalelor?)

3️⃣ Pentru a apela funcția dată, se scrie numele ei, urmat de două paranteze ( ).

Vedeți mai jos un exemplu de funcție fără parametri:

# header-ul unei functii fara parametri
def hello(): 
  print('Hello') #corpul funcției

# apelarea funcției
hello() 

Putem trimite informații unei funcții prin intermediul argumentelor. O funție poate avea unul sau mai multe argumente.

#O funcție cu un singur argument
def hello_function(name):
  print ('Hello ',  name)

# apelarea functiei hello_function cu argumentul Maria si Ioana
hello_function('Maria')
hello_function('Ioana')
# o functie cu 2 argumente
def func(name, rol):
  print(name, 'este', rol)

func('Alexandru', 'trainer') 

Putem trimite orice tip de date ca argumente unei funcții (string, integer, listă, dicționar etc.).

De exemplu. dacă trimiteți o listă ca argument, aceasta va rămâne o listă atunci când apelăm funcția.

def functie_de_salut(studenti):
  for student in studenti:
    print ('Salut,', student)

functie_de_salut(['Ion', 'Maria', 'Alex','Eva', 'Dana'])

Dacă avem mai multe argumente pe care dorim să le folosim, adăugăm un asterisc în fața argumentului din paranteze

# argumentele cu asterisc(var args) se indica tot timpul dupa argumentele obisnuite

def say_hello_to(greeting, *names):
    for name in names:
        print(greeting + name)


say_hello_to("Salut ", "Tetris", "Larnaca", "Abu", "Candi", "Loki")
say_hello_to("hi, ", "Tudor", "Anton")

În Python deosebim câteva tipuri de argumente:

  • Positional Arguments

  • Keyword Arguments

  • Default Arguments

Positional Arguments

Cele mai frecvente sunt argumentele de poziție (Positional Arguments), ale căror valori sunt într-o anumită ordine.

def func(name, rol):
  print(name, 'este', rol)

func('Ion', 'trainer')  

Keyword Arguments

Pentru a evita confuzia argumentelor poziționale, putem folosi numele parametrilor (Keyword Arguments)

def func(name, rol):
  print(name, 'este', rol)

func (rol='studenta', name = 'Maria')

Default Arguments

Putem specifica valori default pentru argumente atunci când definim o funcție.

def func(name, rol='student'):
  print(name, 'este', rol)

func('Irina', 'trainer')

func('Dan')

Returnarea unei valori

Pentru a returna o valoare întro funcție, utilizam pur declarația return.

Odată executată o declarația return, nimic altceva în corpul funcției nu este executat.

# Suma a 2-a valori
def sum(a, b):
    return a + b

x = sum(5, 4)
print(x)

Dacă vrem să returnăm mai multe valori

def imparte(x, y):
    partea_intreaga = x / y
    partea_intreaga = int(partea_intreaga)

    restul = x % y
    
    return partea_intreaga, restul

intreg, rest = imparte(10, 8)
# Variabila „intreg” ia valoarea variabilei „partea_intreaga” iar
# variabila „rest” ia valoarea variabilei „restul” din functia imparte()
print("partea intreaga " + str(intreg))
print("restul " + str(rest))

Numărul variabilelor de la return, în cazul nostru 2, trebuie să coincidă cu numărul variabilelor declarate după funcție. Adica, în cazul nostru variabila intreg va primi aceeași valoare pe care o are variabila partea_intreaga (intreg = partea_intreaga), iar, analog, rest = restul .

Ca rezultat vom primi afișat: partea intreaga 1 restul 2

Mai multe despre funcții (, )

Who needs a plain old when you can just come up with your own definitions of words?

documentație
site
dictionary