Funkcije u Pythonu: def. Python 3 za početnike

U programskim jezicima funkcije su imenovani dio koda. To su zasebni blokovi u tekstu programa. Određeno korištenjem rezervirane riječi def. U Pythonu se funkcijama mogu pristupiti neograničeno vrijeme iz bilo kojeg dijela skripte.python def

Zašto trebate funkcije

Funkcije su neophodni alat za programera. Uz pomoć, programer strukturira program, čineći ga razumljivijom i kompaktnijom. Pomoću funkcija možete ponovno upotrijebiti zaseban kôd bez ponovnog pisanja.

Ovo je najjednostavniji način da se zapakira logika izvršavanja pojedinih dijelova programa. To smanjuje količinu i vrijeme koje stručnjak troši na kreiranje skripte.

Kako napisati prvu funkciju

U Pythonu 3 za početnike, njihovo poznavanje programiranja je najjednostavniji funkcijski ispis (). Da biste ga vidjeli u akciji, trebat će vam razvojno okruženje. Da biste to učinili, preuzmite distribuciju jezika s službene stranice i instalirajte Python na računalo.

Otvorite izbornik Start i na popisu programa pronađite Python 3. Proširite ga lijevom tipkom miša. Na popisu koji se otvori pronađite IDLE okruženje i pokrenite ga. Upišite ispis ("Zdravo, Svijet!") I pritisnite "Enter". Tumač će vratiti rezultat vaše prve funkcije.

Neki programeri radije rade u konzoli. Ako ste jedan od njih, pritisnite tipku win + R i upišite python.exe. Otvorit će se normalan tumač, samo uz cmd sučelje. Upišite program na gore opisani način i pritisnite tipku Enter na kraju da biste vidjeli rezultat.python 3 za početnike

Kako koristiti def

Nove funkcije izrađuju se pomoću def izjave. Oni su jednako učinkoviti kao i ugrađeni ispisi () ili open (), ali se razlikuju od funkcija sastavljanja jezika. Python def odnosi se na izvršne upute. To znači da funkcija ne postoji sve dok ga prevoditelj ne vidi i ne ide na njegovo izvršenje.

Def izjava stvara novi objekt i daje mu naziv. To jest, kada tumač započne implementaciju, stvara novi objekt i povezuje ga s imenom navedenim nakon def. Da biste pohranili podatke u funkcije, možete pridružiti različite atribute.

Sada napišimo funkciju koja vraća izraz "Hello, World!", Samo s def:

  • > def hello_mir ():
  • print ("Pozdrav, Svijet!")
  • > hello_mir () # poziv funkcije
  • Pozdrav, Svijet!

Sintaksa funkcije i povratak

Def izjava u Python sastoji se od zaglavlja i napisan je u skladu sa sljedećim pravilima:

  • > def (argument 1, argument 2, argument N):

Nakon zaglavlja slijedi blok uputa, koji počinje s obaveznim uvlačenjem. U IDLE-u, tumač će to učiniti automatski. Ali u notepad ili neki drugi uređivač teksta, možete zaboraviti pritisnuti Tab. Zatim funkcija neće početi. Programski kôd u bloku uputa naziva se funkcijskim tijelom i izvršava se svaki put kad se zove.

Također se u tijelu ponekad vraća:

  • def (argument 1, argument 2, argument N):
  • ...
  • povratak

Povratak izlazi iz funkcije i prosljeđuje rezultat objektu pozivajućem programu. Uputa nije obvezna. Funkcija će raditi bez povratka i završit će kada kontrolna nit dođe do kraja tijela.python naredbe

Parametri i argumenti

Svaka funkcija može proći parametre koji su navedeni u zagradama nakon def. U Pythonu su pisani kao varijable, odvojene zarezima. Vrijednosti ili reference objekta na ta imena dodjeljuju se u bloku nakon dvotočke. Nakon operacije zadataka obično se nazivaju argumenti, a ne parametri.



Argumenti unutar neke funkcije nisu povezani s objektima izvan nje, pa se nazivaju lokalnim varijablama u programiranju. Opseg je ograničen na blok funkcije koji počinje s def i završava s povratkom. Da bismo to učinili jasnijim, dajte primjer:

  • x = 12 # pridjeljuju varijabilne reference na cijele objekte
  • y = 34
  • > def primjer (x, y): # stvorite funkciju nazvanu primjer
  • x = "Pozdrav" # dodjeljuje vrijednosti argumentima x, y
  • y = "Python"
  • ispisati (x, y, sep = «,»)
  • povrat Ništa
  • > example (x, y) # poziva funkciju, ne zaboravite odrediti parametre
  • Pozdrav, Python
  • > print (x, y)
  • 12 34

Obratite pozornost na pretposljednju liniju koda. U pitonskom tumaču, naredba print () vratila je varijable x i y iz globalnog opsega.

Vrijednosti argumenata ne moraju biti specificirane unutar funkcije, možete ih ručno unijeti kada ga nazovete:

  • > def E_2 (x, y):
  • povratak x + y
  • > E_2 ("Zdravo", "Python"!) # Da bi se riječi razdvojile, stavite prostor prije zaključnog citiranja
  • Pozdrav, Python!
  • E_2 (5, 4)
  • 10

Kao što se može vidjeti iz primjera jednostavne funkcije E_2, rezultat je potpuno ovisan o vrsti objekata x i y. U prvom slučaju E_2 je izvršio povezanost, au drugom slučaju - aritmetički rad dodavanja. Ovo je načelo polimorfizma i dinamičko tipkanje. Činjenica da objekti određuju sintaktičko značenje, uzrokuje fleksibilnost i jednostavnost jezika. Ne trebate odvojiti vrijeme za određivanje vrste podataka s kojim funkcija funkcionira.Python def funkcija

Pravilo LEGB

Ovo se pravilo odnosi na rad s varijablama u različitim opsegima. Prema zadanim postavkama, svi nazivi koje stvorite u funkcijskom tijelu smatraju se lokalnim. A imena u modulu su globalna. Po želji, imenima se može dodijeliti vrijednost najviših varijabli pomoću notlockalnih i globalnih izjava.

Pravilo LEGB objašnjava shemu razlučivanja imena:

  1. Kada tumač pronađe varijablu unutar def izjave, prvo pretražuje vrijednosti u lokalnom opsegu.
  2. Ako pretraživanje ne uspije, ona ide u opseg sveobuhvatne def izjave.
  3. Tada se prevoditelj pomiče na globalna imena u najvišoj razini modula i ono što je označeno kao globalno.
  4. Ako pretraživanje ne uspije, prevoditelj traži imena u ugrađenom okviru Python.

Razmotrimo ilustrativni primjer:

  • > L = 85
  • > R = 23
  • > def example_2 (K):
  • R = 10
  • C = L + K + R
  • povratak C
  • > example_2 (5)
  • 100

Varijable L i R su na najvišoj razini i globalna su imena. R, C i K su lokalne varijable, budući da se dodjeljuje vrijednost unutar def izraza.

Tumač prvo izvodi dodatni postupak za lokalne R, C i K, zanemarujući varijablu R izvan def izjave. Onda traži L, a ako ga ne pronađe među lokalnim imenima, ide na najvišu razinu.

Što je lambda

Osim def, u Pythu se funkcije mogu kreirati posebnim izrazima, od kojih je jedan lambda. Njegov izvorni naziv dobio je u čast lambda računu LISP jezika.

Kao def, lambda stvara funkciju koju možete nazvati kasnije, ali ga ne povezuje ni s jednim imenom. U praksi, lambda se koristi kada morate odgoditi izvršavanje isječka koda.lambda izraz

Osnove lambda izraza

U izgledu, lambda izrazi slični su def uputama. Prvo, ključna riječ lambda je napisana, zatim argumenti, dvotočka i izraz:

  • > f = lambda x, y, z: x + y + z
  • > f (2, 3, 4)
  • 9

Tijelo lambda je samo jedan izraz, a ne blok uputa. Zbog toga, lambda je ograničena u sposobnostima, a ne kao svestran kao def. U njoj se može implementirati samo logika, bez vremena ili za petlje.

Za lambda, pravila pretraživanja za varijable su ista kao i za def. Nazivi navedeni izvan izraza su globalni, unutar - lokalni i ne utječu jedni na druge na bilo koji način.

Lambda izrazi su vrlo prikladni za ugradnju u program. Zbog njihove male veličine, oni minimiziraju i pojednostavljuju kôd. Ali upotreba lambda nije temeljna. U Pythonu 3, def uputa je dovoljna za početnike.

Dijelite na društvenim mrežama:

Povezan
Ciklus s postcondition i petlja s preduvjetomCiklus s postcondition i petlja s preduvjetom
Python za početnikePython za početnike
Programiranje igara: programi, značajke stvaranja i preporukeProgramiranje igara: programi, značajke stvaranja i preporuke
Python - što je to? Visoki programski jezikPython - što je to? Visoki programski jezik
Python programski jezik: petljePython programski jezik: petlje
Ciklus za: Pascal za početnikeCiklus za: Pascal za početnike
Skriptni programski jezici: zadaci, značajke i prednostiSkriptni programski jezici: zadaci, značajke i prednosti
PHP: vrijeme izvršenja skripte u praksiPHP: vrijeme izvršenja skripte u praksi
Programiranje u Pythonu: PopisProgramiranje u Pythonu: Popis
Ulaz i izlaz u Pythonu. Ulaz i ispisUlaz i izlaz u Pythonu. Ulaz i ispis
» » Funkcije u Pythonu: def. Python 3 za početnike
LiveInternet