Primjeri Python funkcija: Poziv, uvlačenje, argumenti & Povratne vrijednosti

Sadržaj:

Anonim

Što je funkcija u Pythonu?

Funkcija u Python je dio koda koji radi kad se spominje. Koristi se za upotrebu koda na više od jednog mjesta u programu. Također se naziva metodom ili postupkom. Python pruža mnoge ugrađene funkcije poput print (), input (), compile (), exec () itd., Ali također daje slobodu stvaranja vlastitih funkcija.

U ovom uputstvu ćemo naučiti

  • Kako definirati i pozvati funkciju u Pythonu
  • Značaj uvlačenja (razmaka) u Pythonu
  • Kako funkcija vraća vrijednost?
  • Argumenti u funkcijama

Kako definirati i pozvati funkciju u Pythonu

Funkcija u Pythonu definirana je izrazom "def" nakon kojeg slijedi ime funkcije i zagrade (())

Primjer:

Definirajmo funkciju pomoću naredbe "def func1 (): i pozovimo funkciju. Rezultat funkcije bit će "Učim funkciju Python".

Funkcija print func1 () poziva naš def func1 (): i ispisuje naredbu " Učim Python funkciju None ".

U Pythonu postoje pravila za definiranje funkcije.

  • Sve argumente ili ulazne parametre treba staviti u ove zagrade
  • Prva izjava funkcije može biti neobavezna naredba-docstring ili dokumentacijski niz funkcije
  • Kôd unutar svake funkcije započinje dvotačkom (:) i trebao bi biti uvučen (razmak)
  • Izraz return (izraz) izlazi iz funkcije, po želji vraćajući vrijednost pozivatelju. Naredba return bez argumenata isto je što i return None.

Značaj uvlačenja (razmaka) u Pythonu

Prije nego što se upoznamo s Python funkcijama, važno je da razumijemo pravilo uvlačenja da bismo deklarirali Python funkcije i ta su pravila primjenjiva na druge elemente Pythona, kao što su deklariranje uvjeta, petlje ili varijable.

Python slijedi određeni stil uvlačenja kako bi definirao kôd, budući da Python funkcije nemaju eksplicitni početak ili završetak poput kovrčavih zagrada kako bi označili početak i zaustavljanje funkcije, moraju se osloniti na to uvlačenje . Ovdje uzimamo jednostavan primjer s naredbom "print". Kada napišemo funkciju "print" odmah ispod def func 1 (): Pokazat će " pogrešku uvlačenja: očekuje se uvučeni blok ".

Sada, kada dodate uvlaku (razmak) ispred funkcije "ispis", trebao bi se ispisati prema očekivanjima.

Barem je jedna uvlaka dovoljna da vaš kôd uspješno radi. Ali kao najbolju praksu preporučljivo je ostaviti oko 3-4 uvlake da biste pozvali svoju funkciju .

Također je potrebno da tijekom deklariranja uvlačenja morate zadržati isto uvlačenje za ostatak koda . Na primjer, u donjem snimku zaslona kada drugu izjavu nazivamo "još uvijek u funkc1", a kada nije deklarirana odmah ispod prve ispisne izjave, prikazat će se pogreška uvlačenja "unindent se ne podudara ni s jednom drugom razinom uvlačenja."

Sada, kada primijenimo isto uvlačenje za obje izjave i poravnamo ih u isti redak, to daje očekivani rezultat.

Kako funkcija vraća vrijednost?

Naredba return u Pythonu određuje koju vrijednost treba vratiti pozivatelju funkcije.

Shvatimo to na sljedećem primjeru

Korak 1) Evo - vidimo kada funkcija nije "return". Na primjer, želimo kvadrat od 4, a on bi trebao dati odgovor "16" kada se kôd izvrši. Što daje kada jednostavno koristimo kôd "print x * x", ali kada pozovete funkciju "print square" daje "None" kao izlaz. To je zato što se, kada pozovete funkciju, rekurzija ne dogodi i padne s kraja funkcije. Python vraća "None" zbog neuspjeha na kraju funkcije.

Korak 2) Da bismo to učinili jasnijim, zamjenjujemo naredbu za ispis naredbom za dodjelu. Provjerimo izlaz.

Kada pokrenete naredbu "print square (4)", ona zapravo vraća vrijednost objekta, jer ovdje nemamo nikakvu posebnu funkciju za prebacivanje, vraća "None".

Korak 3) Sada ćemo vidjeti kako dohvatiti izlaz pomoću naredbe "return". Kada koristite funkciju "return" i izvršite kôd, ona će dati izlaz "16."

Korak 4) Funkcije u Pythonu same su po sebi objekt i objekt ima neku vrijednost. Ovdje ćemo vidjeti kako se Python odnosi prema objektu. Kada pokrenete naredbu "ispiši kvadrat", ona vraća vrijednost objekta. Budući da nismo proslijedili nijedan argument, nemamo nijednu određenu funkciju koju bismo ovdje pregazili, ona vraća zadanu vrijednost (0x021B2D30) koja je mjesto objekta. U praktičnom programu Python ovo vjerojatno nikada nećete morati učiniti.

Argumenti u funkcijama

Argument je vrijednost koja se prenosi funkciji kad je pozvana.

Drugim riječima, na strani koja poziva, to je argument, a na funkciji je parametar.

Pogledajmo kako Python Args radi -

Korak 1) Argumenti se deklariraju u definiciji funkcije. Dok pozivate funkciju, možete proslijediti vrijednosti za te argumente kao što je prikazano dolje

Korak 2) Da biste proglasili zadanu vrijednost argumenta, dodijelite mu vrijednost u definiciji funkcije.

Primjer: x nema zadane vrijednosti. Zadane vrijednosti y = 0. Kad isporučujemo samo jedan argument dok pozivamo funkciju množenja, Python dodijeli isporučenu vrijednost x, zadržavajući vrijednost y = 0. Otuda množenje x * y = 0

Korak 3) Ovaj put promijenit ćemo vrijednost u y = 2 umjesto zadane vrijednosti y = 0 i vratit će izlaz kao (4x2) = 8.

Korak 4) Također možete promijeniti redoslijed kojim se argumenti mogu prosljeđivati ​​u Pythonu. Ovdje smo preokrenuli redoslijed vrijednosti x i y na x = 4 i y = 2.

Korak 5) Višestruki se argumenti također mogu proslijediti kao niz. Ovdje u primjeru pozivamo višestruke argumente (1,2,3,4,5) pozivanjem funkcije (* args).

Primjer: Proglasili smo više argumenata kao broj (1,2,3,4,5) kada pozivamo funkciju (* args); ispisuje izlaz kao (1,2,3,4,5)

Savjeti :

  • U Pythonu 2.7. preopterećenje funkcije nije podržano u Pythonu. Preopterećenje funkcije je sposobnost stvaranja više metoda istog naziva s različitom implementacijom. Preopterećenje funkcije u potpunosti je podržano u Pythonu 3
  • Postoji prilična zbrka između metoda i funkcija. Metode u Pythonu povezane su s objektnim instancama, dok funkcija nije. Kada Python pozove metodu, on veže prvi parametar tog poziva na odgovarajuću referencu objekta. Jednostavnim riječima, samostalna funkcija u Pythonu je "funkcija", dok je funkcija koja je atribut klase ili instance "metoda".

Ovdje je kompletni Python 3 kod

#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))

Ovdje je kompletni Python 2 kod

#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)

Sažetak:

Funkcija u Pythonu dio je koda za višekratnu upotrebu koji se koristi za izvođenje jedne, povezane radnje. U ovom ćemo članku vidjeti

  • Funkcija definirana def izjave
  • Blok koda unutar svake funkcije započinje dvotačkom (:) i trebao bi biti uvučen (razmak)
  • Svi argumenti ili ulazni parametri trebaju se staviti u ove zagrade itd.
  • Najmanje jedno uvlačenje treba ostaviti prije koda nakon deklariranja funkcije
  • Isti stil uvlačenja treba održavati u cijelom kodu unutar funkcije def
  • Za najbolje prakse tri ili četiri uvlake smatraju se najboljima prije izjave
  • Naredbu "return" možete koristiti za vraćanje vrijednosti u poziv funkcije.
  • Python će ispisati slučajnu vrijednost poput (0x021B2D30) kada argument nije dostavljen pozivajućoj funkciji. Primjer "funkcija ispisa".
  • Na strani koja poziva, to je argument, a na funkciji je parametar
  • Zadana vrijednost u argumentu - Kada isporučujemo samo jedan argument dok pozivamo funkciju množenja ili bilo koju drugu funkciju, Python prema zadanim postavkama dodjeljuje drugi argument
  • Python vam omogućuje i obrnuti redoslijed argumenta