Mikä on toiminto Pythonissa?
Tehtävä Python on pala koodi, joka kulkee, kun se on viitattu. Sitä käytetään koodin hyödyntämiseen useammassa kuin yhdessä paikassa ohjelmassa. Sitä kutsutaan myös menetelmäksi tai menettelyksi. Python tarjoaa monia sisäänrakennettuja toimintoja, kuten print (), input (), compile (), exec () jne., Mutta se antaa myös vapauden luoda omia toimintoja.
Tässä opetusohjelmassa opimme
- Funktion määritteleminen ja kutsuminen Pythonissa
- Sisääntulon (välilyönnin) merkitys Pythonissa
- Kuinka funktio palauttaa arvon?
- Funktioiden argumentit
Funktion määritteleminen ja kutsuminen Pythonissa
Toiminnon Pythonissa määrittelee "def" -lauseke, jota seuraa funktion nimi ja sulkeet (())
Esimerkki:
Määritetään funktio komennolla "def func1 (): ja kutsutaan funktio. Funktion tulos on "Oppin Python-toimintoa".
Funktio print func1 () kutsuu def funktiota1 (): ja tulosta komento " Oppin Python-toimintoa Ei mitään ".
Pythonissa on joukko sääntöjä funktion määrittelemiseksi.
- Mahdolliset argumentit tai syöttöparametrit tulisi sijoittaa näihin sulkeisiin
- Funktion ensimmäinen käsky voi olla valinnainen käskykomento tai funktion dokumentointijono
- Jokaisen funktion koodi alkaa kaksoispisteellä (:) ja sen pitäisi olla sisennys (välilyönti)
- Lausekkeen paluu (lauseke) sulkee toiminnon ja välittää valinnaisesti arvon soittajalle. Palautuslauseke ilman argumentteja on sama kuin return Ei mitään.
Sisääntulon (välilyönnin) merkitys Pythonissa
Ennen kuin tutustumme Python-funktioihin, on tärkeää, että ymmärrämme sisennyssäännön Python-funktioiden julistamiseksi, ja näitä sääntöjä voidaan soveltaa muihin Python-elementteihin, kuten ehtojen, silmukoiden tai muuttujien ilmoittamiseen.
Python noudattaa tiettyä sisennystyyliä koodin määrittelemiseksi, koska Python-funktioilla ei ole mitään nimenomaista alkua tai loppua kuten kiharaisia aaltosulkeita osoittaakseen toiminnon alun ja lopun, heidän on luotettava tähän sisennykseen . Otetaan tässä yksinkertainen esimerkki "print" -komennolla. Kun kirjoitamme "tulosta" -toiminnon suoraan def funktion 1 () alle: Se näyttää " sisennysvirheen: odotetaan sisennettyä lohkoa ".
Kun lisäät sisennyksen (välilyönnin) "tulostus" -toiminnon eteen, sen pitäisi tulostaa odotetusti.
Ainakin yksi luetelmakohta riittää saamaan koodisi toimimaan onnistuneesti. Mutta parhaaksi käytännöksi on suositeltavaa jättää noin 3-4 luetelmakohta kutsua toiminto .
On myös välttämätöntä, että samalla kun ilmoitat sisennystä, sinun on säilytettävä sama sisennys koko koodisi ajan . Esimerkiksi alla olevassa kuvakaappauksessa, kun kutsumme toista lausetta "vielä toiminnassa func1" ja kun sitä ei ilmoiteta heti ensimmäisen tulostuslausekkeen alapuolella, se näyttää sisennysvirheen "unindent ei vastaa mitään muuta sisennystasoa".
Kun sovellamme samaa sisennystä molempiin lauseisiin ja kohdistamme ne samalla rivillä, se antaa odotetun tuotoksen.
Kuinka funktio palauttaa arvon?
Return-komento Pythonissa määrittää, mikä arvo palautetaan funktion soittajalle.
Ymmärretään tämä seuraavalla esimerkillä
Vaihe 1) Tässä - näemme, kun funktio ei ole "paluu". Haluamme esimerkiksi neliön 4 ja sen pitäisi antaa vastaus "16", kun koodi suoritetaan. Minkä se antaa, kun käytämme yksinkertaisesti "print x * x" -koodia, mutta kun kutsut funktiota "print square", se antaa "None" tulosteen. Tämä johtuu siitä, että kun soitat funktiolle, rekursiota ei tapahdu ja se putoaa toiminnon lopusta. Python palauttaa "Ei mitään", jos toiminto loppuu.
Vaihe 2) Tämän selkeyttämiseksi korvataan tulostuskomento määrityskomennolla. Tarkistetaan lähtö.
Kun suoritat komennon "print square (4)", se todella palauttaa objektin arvon, koska meillä ei ole mitään erityistä toimintoa, joka ajaa täällä, se palauttaa "None".
Vaihe 3) Nyt, tässä näemme, kuinka noutaa lähtö käyttämällä "return" -komentoa. Kun käytät "return" -toimintoa ja suoritat koodin, se antaa tuloksen "16."
Vaihe 4) Pythonin toiminnot ovat itse objekti, ja objektilla on jokin arvo. Näemme täällä, kuinka Python kohtelee kohdetta. Kun suoritat komennon "print square", se palauttaa objektin arvon. Koska emme ole läpäisseet yhtään argumenttia, meillä ei ole mitään erityistä funktiota, joka ajaa täällä, se palauttaa oletusarvon (0x021B2D30), joka on objektin sijainti. Käytännössä Python-ohjelmassa sinun ei todennäköisesti tarvitse koskaan tehdä tätä.
Funktioiden argumentit
Argumentti on arvo, joka välitetään funktiolle, kun sitä kutsutaan.
Toisin sanoen kutsuvan puolen se on argumentti ja funktion puolella parametri.
Katsotaan miten Python Args toimii -
Vaihe 1) Argumentit ilmoitetaan funktion määrittelyssä. Kun soitat funktiota, voit välittää argumenttien arvot alla esitetyllä tavalla
Vaihe 2) Voit julistaa argumentin oletusarvon määrittämällä sille arvon funktion määritelmässä.
Esimerkki: x: llä ei ole oletusarvoja. Oletusarvot y = 0. Kun annamme vain yhden argumentin kutsuttaessa kertolaskufunktiota, Python määrittää toimitetun arvon x: lle pitäen y = 0 arvon. Siksi x * y = 0 kerrotaan
Vaihe 3) Tällä kertaa muutamme arvon arvoksi y = 2 oletusarvon y = 0 sijaan, ja se palauttaa lähdön muodossa (4x2) = 8.
Vaihe 4) Voit myös muuttaa järjestystä, jossa argumentit voidaan välittää Pythonissa. Tässä olemme kääntäneet arvon x ja y järjestyksen arvoon x = 4 ja y = 2.
Vaihe 5) Useita argumentteja voidaan välittää myös matriiseina. Tässä esimerkissä kutsumme useita argeja (1,2,3,4,5) kutsumalla (* args) -funktiota.
Esimerkki: Ilmoitimme useita argeja numerona (1,2,3,4,5), kun kutsumme funktiota (* args); se tulostaa tuloksen muodossa (1,2,3,4,5)
Vinkkejä :
- Python 2.7: ssä. toimintojen ylikuormitusta ei tueta Pythonissa. Funktion ylikuormitus on kyky luoda useita samannimisiä menetelmiä eri toteutuksella. Toiminnon ylikuormitusta tuetaan täysin Python 3: ssa
- Menetelmien ja toimintojen välillä on melko sekaannusta. Pythonissa olevat menetelmät liittyvät objektiinstansseihin, kun taas funktio ei ole. Kun Python kutsuu menetelmää, se sitoo kutsun ensimmäisen parametrin sopivaan objektiviittaukseen. Yksinkertaisesti sanottuna erillinen toiminto Pythonissa on "funktio", kun taas luokan tai ilmentymän attribuuttina toimiva funktio on "menetelmä".
Tässä on täydellinen Python 3 -koodi
#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))
Tässä on täydellinen Python 2 -koodi
#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)
Yhteenveto:
Funktio Pythonissa on pala uudelleenkäytettävää koodia, jota käytetään yksittäisten, liittyvien toimintojen suorittamiseen. Tässä artikkelissa näemme
- Def- käskyn määrittämä toiminto
- Jokaisen funktion koodilohko alkaa kaksoispisteellä (:) ja sen pitäisi olla sisennys (välilyönti)
- Mahdolliset argumentit tai syöteparametrit tulisi sijoittaa näihin sulkeisiin jne.
- Ainakin yksi luetelmakohta tulisi jättää koodin eteen funktion ilmoittamisen jälkeen
- Sama sisennystyyli tulisi säilyttää koko koodissa def-funktiossa
- Parhaiden käytäntöjen osalta kolmea tai neljää luetelmakohtaa pidetään parhaina ennen lausetta
- Voit palauttaa arvot funktiokutsulle käyttämällä "return" -komentoa.
- Python tulostaa satunnaisen arvon, kuten (0x021B2D30), kun argumenttia ei toimiteta kutsuvaan toimintoon. Esimerkki "tulostustoiminnosta".
- Soittopuolella se on argumentti ja funktion puolella parametri
- Oletusarvo argumentissa - Kun annamme vain yhden argumentin kutsuttaessa kertolaskufunktiota tai muuta toimintoa, Python määrittää toisen argumentin oletuksena
- Python antaa sinun kääntää myös argumentin järjestyksen