Kuinka kutsua funktio sisään Python (Esimerkki)
⚡ Älykäs yhteenveto
Toiminnot Python ovat uudelleenkäytettäviä koodilohkoja, jotka suoritetaan kutsuttaessa ja jotka on määritelty def-lauseella. Ne hyväksyvät argumentteja, palauttavat arvoja ja käyttävät yhdenmukaista sisennystä ryhmitelläkseen kuhunkin funktioon kuuluvat lausekkeet.

Mitä toiminto sisältää Python?
A Toiminto sisään Python on koodipätkä, joka suoritetaan, kun siihen viitataan. Sitä käytetään koodin hyödyntämiseen useammassa kuin yhdessä paikassa ohjelmassa. Sitä kutsutaan myös metodiksi tai proseduuriksi. Python tarjoaa monia sisäänrakennettuja funktioita, kuten print(), input(), compile() ja exec(), mutta se antaa sinulle myös vapauden luoda omia funktioita.
Kuinka määritellä ja kutsua funktio Python
Toiminto sisään Python määritellään ”def”-lausekkeella, jota seuraa funktion nimi ja sulkeet ( () ).
Esimerkiksi:
Määritellään funktio komennolla “def func1():” ja kutsutaan funktiota. Funktion tuloste on “Olen oppimassa Python toiminto ”.
Funktiokutsu func1() käynnistää def func1()-funktion ja tulostaa komennon “Olen oppimassa Python toiminto Ei mitään.”
On olemassa joukko sääntöjä Python ohjelmointi funktion määrittelemiseksi.
- Kaikki argumentit tai syöttöparametrit tulee sijoittaa näiden sulkeiden sisään.
- Funktion ensimmäinen lauseke voi olla valinnainen lauseke — funktion docstring- tai documentation-merkkijono.
- Jokaisen funktion koodi alkaa kaksoispisteellä (:) ja tulee sisentää (välilyönnillä).
- Lauseke return (lauseke) poistuu funktiosta ja halutessaan palauttaa kutsujalle arvon. Return-lauseke ilman argumentteja on sama kuin return None.
Sisennys (avaruus) in Python
Ennen kuin tutustumme Python funktiot, on tärkeää, että ymmärrämme sisennyssäännön ilmoittaa Python funktioita, ja näitä sääntöjä sovelletaan muihinkin elementteihin Python sekä, kuten ehtojen, silmukoiden tai muuttujien määrittäminen.
Python noudattaa tiettyä sisennystyyliä koodin määrittelemiseksi. Koska Python Funktioilla ei ole eksplisiittistä alkua tai loppua, kuten aaltosulkeita, jotka osoittaisivat funktion alun ja lopun, vaan niiden on luotettava tähän sisennykseen. Tässä otamme yksinkertaisen esimerkin "print"-komennon kanssa. Kun kirjoitamme "print"-funktion heti def func1():-rivin alapuolelle, se näyttää virheilmoituksen "sisennysvirhe: odotettiin sisennettyä lohkoa".
Kun nyt lisäät sisennyksen (välilyönnin) "print"-funktion eteen, sen pitäisi tulostua odotetulla tavalla.
Ainakin yksi sisennys riittää koodisi toimimiseen. Mutta parhaana käytäntönä on suositeltavaa jättää noin 3–4 sisennystä funktion kutsumista varten.
On myös välttämätöntä, että sisennystä määritettäessä säilytetään sama sisennys koko koodin ajan. Esimerkiksi alla olevassa kuvakaappauksessa, kun kutsumme toista lausetta ”still in func1” eikä sitä ole määritelty heti ensimmäisen tulostuslausekkeen alapuolella, näytetään sisennysvirhe: ”unindent does not match any other indentation level”.
Kun nyt käytämme samaa sisennystä molemmissa lauseissa ja tasaamme ne samalle riville, se antaa odotetun tulosteen.
Kuinka funktio palauttaa arvon?
Return-komento kohdassa Python määrittää, minkä arvon annetaan takaisin funktion kutsujalle. Ymmärretään tämä seuraavan esimerkin avulla.
Vaihe 1) Funktio ei palauta mitään
Tässä näemme tilanteen, jossa funktio ei "palauta". Esimerkiksi haluamme luvun 4 neliön, ja sen pitäisi antaa vastaukseksi "16", kun koodi suoritetaan. Se antaa tämän, kun käytämme yksinkertaisesti "print x*x" -koodia, mutta kun kutsut funktiota "print square", se antaa tulosteena "None". Tämä johtuu siitä, että funktiota kutsuttaessa rekursiota ei tapahdu ja se putoaa funktion lopusta. Python palauttaa arvon ”None”, jos se ei ole funktion lopussa.
Vaihe 2) Korvaa tulostuskomento sijoituskomennolla
Selventääksemme tätä korvaamme tulostuskomennon sijoituskomennolla. Tarkistetaan tuloste.
Kun suoritat komennon ”print square (4)”, se itse asiassa palauttaa objektin arvon. Koska meillä ei ole tässä suoritettavana mitään tiettyä funktiota, se palauttaa arvon ”None”.
Vaihe 3) Käytä 'return'-funktiota ja suorita koodi
Seuraavaksi katsomme, miten tuloste noudetaan komennolla ”return”. Kun käytät ”return”-funktiota ja suoritat koodin, tulosteeksi tulee ”16”.
Vaihe 4) Suorita komento "print square"
Toiminnot Python ovat itse esine, ja esineellä on jokin arvo. Katsotaan täällä kuinka Python käsittelee objektia. Kun suoritat komennon “print square”, se palauttaa objektin arvon. Koska emme ole antaneet mitään argumenttia, meillä ei ole tässä suoritettavana mitään tiettyä funktiota, joten se palauttaa oletusarvon (0x021B2D30), joka on objektin sijainti. Käytännössä Python ohjelmaa, sinun ei luultavasti koskaan tarvitse tehdä tätä.
Argumentit funktioissa
Argumentti on arvo, joka annetaan funktiolle, kun sitä kutsutaan.
Toisin sanoen, kutsuvalla puolella se on argumentti ja funktion puolella se on parametri.
Katsotaanpa kuinka Python argumentit toimivat.
Vaihe 1) Argumentit deklaroidaan funktion määritelmässä. Funktiota kutsuessasi voit välittää argumenttien arvot alla esitetyllä tavalla.
Vaihe 2) Jos haluat määrittää argumentille oletusarvon, anna sille arvo funktion määritelmässä.
Esimerkiksi: x:llä ei ole oletusarvoa. Y:n oletusarvo on 0. Kun annamme vain yhden argumentin kertolaskufunktiota kutsuttaessa, Python määrittää annetun arvon x:lle, kun taas keeping y=0. Tästä johtuu x*y=0:n kertolasku.
Vaihe 3) Tällä kertaa muutamme arvon y=2:ksi oletusarvon y=0 sijaan, ja se palauttaa tulosteen muodossa (4×2)=8.
Vaihe 4) Voit myös muuttaa argumenttien välitysjärjestystä PythonTässä olemme vaihtaneet arvojen x ja y järjestyksen muotoon x=4 ja y=2.
Vaihe 5) Useita argumentteja voidaan myös välittää taulukkona. Tässä esimerkissä kutsumme useita argumentteja (1,2,3,4,5) kutsumalla (*args)-funktiota.
Esimerkiksi: Esittelimme useita argumentteja numeroina (1,2,3,4,5); kun kutsumme (*args)-funktiota, se tulostaa tuloksen muodossa (1,2,3,4,5).
Vinkki:
- In Python 2.7:ssä funktioiden ylikuormitusta ei tueta. Funktioiden ylikuormitus tarkoittaa mahdollisuutta luoda useita samannimisiä metodeja eri toteutuksilla. Funktioiden ylikuormitusta tuetaan täysin versiossa Python 3.
- Metodien ja funktioiden välillä on melkoinen sekaannus. Menetelmät Python liittyvät objekti-instanssien kanssa, kun taas funktiot eivät. Kun Python kutsuu menetelmää, se sitoo kyseisen kutsun ensimmäisen parametrin sopivaan objektiviittaukseen. Yksinkertaisesti sanottuna, itsenäinen toiminto Python on "funktio", kun taas funktio, joka on luokan tai ilmentymän attribuutti, on "menetelmä".
Tässä on täydellinen Python 3-koodi
#define a function
def func1():
print ("I am learning Python function")
print ("still in func1")
func1()
def square(x):
return x*x
print(square(4))
def multiply(x,y=0):
print("value of x=",x)
print("value of y=",y)
return x*y
print(multiply(y=2,x=4))
Tässä on täydellinen Python 2-koodi
#define a function
def func1():
print " I am learning Python function"
print " still in func1"
func1()
def square(x):
return x*x
print square(4)
def multiply(x,y=0):
print"value of x=",x
print"value of y=",y
return x*y
print multiply(y=2,x=4)














