„Python“ funkcijų pavyzdžiai: iškvietimas, įtrauka, argumentai ir amp; Grąžinimo vertės

Kas yra „Python“ funkcija?

Funkcija Python yra kodo gabalas, kuris veikia, kai jis yra lyginamas. Jis naudojamas kodui naudoti daugiau nei vienoje programos vietoje. Tai dar vadinama metodu ar procedūra. „Python“ teikia daugybę integruotų funkcijų, tokių kaip „print“ (), „input“), „compile“ (), „exec“ (ir tt), tačiau taip pat suteikia laisvę kurti savo funkcijas.

Šioje pamokoje mes išmoksime

  • Kaip apibrėžti ir iškviesti funkciją „Python“
  • Indentacijos (erdvės) reikšmė „Python“
  • Kaip funkcija grąžina vertę?
  • Argumentai funkcijose

Kaip apibrėžti ir iškviesti funkciją „Python“

Funkciją „Python“ apibūdina sakinys „def“, po kurio nurodomas funkcijos pavadinimas ir skliausteliai (())

Pavyzdys:

Apibrėžkime funkciją naudodami komandą "def func1 (): ir iškvieskite funkciją. Funkcijos išvestis bus „Aš mokausi„ Python “funkcijos“.

Funkcija print func1 () iškviečia mūsų def func1 (): ir išspausdina komandą „ Aš mokausi„ Python “funkcijos Nėra “.

„Python“ yra taisyklių rinkinys, apibrėžiantis funkciją.

  • Bet kokie argumentai ar įvesties parametrai turėtų būti dedami į šias skliaustelius
  • Funkcijos pirmasis sakinys gali būti pasirenkamasis sakinys-docstring arba funkcijos dokumentacijos eilutė
  • Kiekvienos funkcijos kodas prasideda dvitaškiu (:) ir turi būti įtraukiamas (tarpas)
  • Teiginys grįžta (išraiška) išeina iš funkcijos, pasirinktinai grąžindamas reikšmę skambinančiajam. Grąžinimo sakinys be argumentų yra tas pats, kas grąžinti Nėra.

Indentacijos (erdvės) reikšmė „Python“

Prieš susipažindami su „Python“ funkcijomis, svarbu, kad suprastume įtraukos taisyklę deklaruoti „Python“ funkcijas, ir šios taisyklės yra taikomos kitiems „Python“ elementams, taip pat sąlygų, kilpų ar kintamųjų deklaravimui.

Norėdami apibrėžti kodą, „Python“ vadovaujasi tam tikru įtraukos stiliumi, nes „ Python“ funkcijos neturi aiškaus pradžios ar pabaigos, pavyzdžiui, garbanotieji petnešos, nurodantys funkcijos pradžią ir pabaigą, jos turi remtis šia įtrauka . Čia mes paimsime paprastą pavyzdį su komanda „print“. Kai parašysime „spausdinimo“ funkciją tiesiai po def func 1 (): ji parodys „ įtraukos klaidą: tikimasi įtraukos bloko “.

Dabar, pridėjus įtrauką (tarpą) prieš „spausdinimo“ funkciją, ji turėtų būti spausdinama taip, kaip tikėtasi.

Kad kodas veiktų sėkmingai, pakanka bent vienos įtraukos. Tačiau kaip geriausią praktiką patartina palikti maždaug 3-4 įtraukas, kad paskambintumėte savo funkcijai .

Taip pat būtina, kad deklaruodami įtrauką, likusią kodo dalį turėtumėte išlaikyti tą pačią įtrauką . Pvz., Žemiau esančioje ekrano kopijoje, kai mes vadiname kitą teiginį „vis dar func1“ ir kai jis nėra paskelbtas tiesiai po pirmuoju atspausdintu sakiniu, bus rodoma įtraukos klaida „neįtraukta neatitinka jokio kito įtraukos lygio“.

Kai abiem teiginiams taikome tą pačią įtrauką ir sulyginame juos toje pačioje eilutėje, tai suteikia laukiamą rezultatą.

Kaip funkcija grąžina vertę?

„Python“ komanda „Return“ nurodo, kokią vertę grąžinti funkcijos skambintojui.

Supraskime tai pateikdami šį pavyzdį

1 žingsnis) Čia - mes matome, kai funkcija nėra „grįžti“. Pvz., Mes norime kvadrato iš 4 ir, kai kodas bus vykdomas, jis turėtų pateikti atsakymą „16“. Ką jis duoda, kai paprasčiausiai naudojame „print x * x“ kodą, bet kai iškviečiate funkciją „print square“, tai kaip išvestis suteikia „None“. Taip yra todėl, kad iškvietus funkciją, rekursija neįvyks ir nukris nuo funkcijos pabaigos. „Python“ grąžina „None“, nes nepavyko baigti funkcijos.

2 žingsnis) Kad tai būtų aiškiau, komandą spausdinti pakeisime priskyrimo komanda. Patikrinkime išvestį.

Kai paleidžiate komandą „print square (4)“, ji iš tikrųjų grąžina objekto vertę, nes čia neturime jokios konkrečios funkcijos, kurią paleisti, ji grąžina „None“.

3 žingsnis) Dabar pamatysime, kaip gauti išvestį naudojant komandą „grįžti“. Kai naudosite „return“ funkciją ir vykdysite kodą, ji suteiks išvestį „16.“

4 žingsnis) „Python“ funkcijos pačios yra objektas, o objektas turi tam tikrą vertę. Čia pamatysime, kaip „Python“ elgiasi su objektu. Kai paleidžiate komandą „print square“, ji grąžina objekto vertę. Kadangi mes nepateikėme jokio argumento, mes neturime jokios konkrečios funkcijos, kad galėtume čia paleisti, ji pateikia numatytąją vertę (0x021B2D30), kuri yra objekto vieta. Praktiškoje „Python“ programoje to tikriausiai niekada nereikės daryti.

Argumentai funkcijose

Argumentas yra reikšmė, kuri perduodama funkcijai ją iškvietus.

Kitaip tariant, skambinančiojoje pusėje tai yra argumentas, o funkcijos pusėje - parametras.

Pažiūrėkime, kaip veikia „Python Args“ -

1 žingsnis) Argumentai yra deklaruojami funkcijos apibrėžime. Kreipdamiesi į funkciją, galite perduoti argų reikšmes, kaip parodyta žemiau

2 žingsnis. Norėdami paskelbti numatytąją argumento vertę, priskirkite jai reikšmę funkcijos apibrėžime.

Pavyzdys: x neturi numatytųjų reikšmių. Numatytosios y = 0 vertės. Kai mes kviečiame dauginimo funkciją, pateikiame tik vieną argumentą, „Python“ priskiria pateiktą vertę x, išlaikydama y = 0 reikšmę. Taigi padauginus x * y = 0

3 žingsnis) Šį kartą reikšmę pakeisime į y = 2, o ne į numatytąją y = 0, ir ji grąžins išvestį kaip (4x2) = 8.

4 žingsnis) Taip pat galite pakeisti argumentų perdavimo Python tvarka. Čia mes pakeitėme reikšmių x ir y tvarką į x = 4 ir y = 2.

5 žingsnis. Keli argumentai taip pat gali būti perduoti kaip masyvas. Čia pavyzdyje mes vadiname kelis argus (1,2,3,4,5), iškviesdami funkciją (* args).

Pavyzdys: Mes paskelbėme kelis argumentus kaip skaičių (1,2,3,4,5), kai iškviečiame funkciją (* args); jis išspausdina išvestį kaip (1,2,3,4,5)

Patarimai :

  • „Python 2.7“. funkcijos perkrovimas „Python“ nepalaikomas. Funkcijos perkrova yra galimybė sukurti kelis to paties pavadinimo metodus su skirtingu įgyvendinimu. Funkcijų perkrova yra visiškai palaikoma „Python 3“
  • Yra gana painiojami metodai ir funkcijos. „Python“ metodai yra susieti su objekto egzemplioriais, o funkcija nėra. Kai „Python“ iškviečia metodą, jis susieja pirmąjį to iškvietimo parametrą su atitinkama objekto nuoroda. Paprastais žodžiais tariant, atskira „Python“ funkcija yra „funkcija“, o funkcija, kuri yra klasės ar egzemplioriaus atributas, yra „metodas“.

Čia yra visas „Python 3“ kodas

#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))

Čia yra visas „Python 2“ kodas

#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)

Santrauka:

Funkcija „Python“ yra daugkartinio naudojimo kodas, naudojamas atlikti vieną, susijusį veiksmą. Šiame straipsnyje mes pamatysime

  • Funkcija, apibrėžta sakiniu def
  • Kiekvienos funkcijos kodo blokas prasideda dvitaškiu (:) ir turi būti įtraukiamas (tarpas)
  • Bet kokie argumentai ar įvesties parametrai turėtų būti dedami į šiuos skliaustus ir t. T.
  • Deklaravus funkciją, prieš kodą turėtų būti palikta bent viena įtrauka
  • Tas pats įtraukos stilius turėtų būti išlaikytas visame kode, esant def funkcijai
  • Geriausia praktika prieš pareiškimą yra trys ar keturios įtraukos
  • Norėdami grąžinti reikšmes į funkcijos iškvietimą, galite naudoti komandą „grįžti“.
  • „Python“ atspausdins atsitiktinę reikšmę, pvz., (0x021B2D30), kai argumentas nepateikiamas skambinančiajai funkcijai. „Spausdinimo funkcijos“ pavyzdys.
  • Skambinančiojoje pusėje tai yra argumentas, o funkcijos pusėje - parametras
  • Numatytoji argumento reikšmė - kai mes pateikiame tik vieną argumentą, kai iškviečiame daugybos funkciją ar bet kurią kitą funkciją, „Python“ pagal numatytuosius nustatymus priskiria kitą argumentą
  • „Python“ taip pat leidžia pakeisti argumento eiliškumą

Įdomios straipsniai...