Tämä artikkeli auttaa lukijaa ymmärtämään perus Python-funktioita sekä joitakin perus sovelluksia todellisessa maailmassa. Käytämme Visual Studio Codea koodieditorina. Jos et ole asentanut Visual Studio Codea, ohjeet löytyvät ensimmäisestä blogista.

Python-funktiot – sisällysluettelo:

  1. Python-funktiot
  2. Python-funktiot objekteina
  3. Python-funktioiden tallentaminen tietorakenteisiin

Python-funktiot

Python-funktiot ovat objekteja, mikä tarkoittaa, että funktioita voidaan käyttää palautusarvona muille funktioille, ne voidaan tallentaa muuttujaan, ne voidaan tallentaa tietorakenteisiin tai niitä voidaan käyttää argumenttina muissa funktioissa.

Python-funktiot määritellään käyttämällä “def” avainsanaa, jota seuraa funktion nimi. Sitten näiden sulkujen “()” sisällä määritellään argumentit. Python-funktioiden perussyntaksi on esitetty alla.

Esimerkiksi:

# Luo funktio
# def avainsana
def functioname(): 



Huom:

Funktioiden nimillä on samat säännöt kuin muuttujan määrittelyllä.

Kirjoitetaan ensimmäinen funktiomme

# ensimmäinen funktio

def sum(a,b):
	return a+b



Yllä olevassa koodilohkossa olemme kirjoittaneet funktion, joka antaa meille kahden numeron summan. Kuten näet, olemme käyttäneet “def” avainsanaa, a ja b ovat argumentteja, jotka meidän tapauksessamme olisivat summattavat numerot. Nyt olemme käyttäneet avainsanaa “return”, joka palauttaa halutun arvon tai merkkijonon funktiosta halutun tehtävän suorittamisen jälkeen. Palautetut arvot voidaan edelleen määrittää muille muuttujille tai käyttää funktioissa argumenttina.

Katso nyt, miten käytämme tätä funktiota halutuilla numeroillamme.

# ensimmäinen funktio

def sum(a,b):
	return a+b

sum(6,7)

x=sum(6,7)
print(x)

Kuten näet, jos käytämme vain funktiota, se ei näytä mitään arvoa, mutta kun tallennamme funktion palautusarvon toiseen muuttujaan ja tulostamme sen, se antaa halutun tuloksen.

Suoritetaan ohjelma ja katsotaan tulos

# Tulos

13

Olemme saaneet tuloksen 13, joka on 6 ja 7 summa. Kirjoitetaan toinen funktio, joka antaa meille koko nimen etunimen ja sukunimen perusteella.

# toinen funktio
def fullname(fn,ln):
	return fn+ln

x=fullname(“python”,”language”)
print(x)

Kuten näet, olemme juuri määrittäneet funktion fullname ja antaneet sille parametrit etunimi ja sukunimi. Palautamme koko nimen käyttämällä “+” -operaattoria, joka on merkkijonojen yhdistämisoperaattori, jonka opimme muuttujien blogissa.

Tutkitaan tulosta

#Tulos

pythonlanguage

Python-funktiot objekteina

Suurin osa datasta Pythonissa on esitetty objektien muodossa. Pythonissa merkkijonot, moduulit ja funktiot esitetään kaikki objektien muodossa. Katsotaan, miten voimme käyttää funktioita objekteina.

Funktioiden määrittäminen muuttujaan

Koska funktio on objekti, se voidaan määrittää muuttujaan. Esimerkki on esitetty alla.

# ensimmäinen funktio

def sum(a,b):
	return a+b

sumab=sum

Yllä olevassa esimerkissä näemme, että sen määrittäminen uudelle muuttujalle ei kutsu funktiota, vaan se vain määrittää funktion muuttujaan “sumab”. Yllä olevan esimerkin todellinen merkitys on, että muuttuja “sumab” ottaa sum-funktion objektin viittauksena, ja “sumab” osoittaa nyt tuohon objektiin. Siksi sumab voidaan nyt myös käyttää funktiona. Esimerkki on esitetty alla.

# Uusi funktio

def sum(a,b):
	return a+b

sumab=sum

s=sumab(7,8)
print(s)

Tulos:

#tulos

15

Huom:

Funktioiden nimillä, jotka annamme määrittelyssä, ja funktio-objekteilla on hyvin erilaiset toiminnot. Vaikka poistamme alkuperäisen funktion nimen, jos on toinen nimi, joka osoittaa tuohon viittausfunktio-objektiin, funktio toimii silti. Esimerkki on esitetty alla.

# Uusi funktio

def sum(a,b):
	return a+b

sumab=sum

del sum

sum(8,7)

Tulos:

#Tulos

NameError: “nimi ‘sum’ ei ole määritelty”

Mutta kun käytämme sumab-funktiota, tulos on esitetty alla.

# Uusi funktio

def sum(a,b):
	return a+b

sumab=sum

del sum

sumab(8,7)

Tulos:

15

Python-funktioiden tallentaminen tietorakenteisiin

Koska funktiot ovat objekteja Pythonissa, voimme tallentaa ne tietorakenteisiin samalla tavalla kuin tallennamme muuttujamme ja vakioita. Syntaksi muuttuu hieman, mutta se on kuin tallentaisimme elementtejä tietotyypeissä.

#funktion tallentaminen tietorakenteisiin

Storedfunctionslist=[len,str.upper(),str.strip(),str.lower()]

Storedfunctionslist

Funktioiden läpikäyminen on aivan kuten objektien läpikäyminen. Esimerkki on esitetty alla.

#funktion tallentaminen tietorakenteisiin

Storedfunctionslist=[len,str.upper(),str.strip(),str.lower()]

for fun in Storedfunctionslist:
    print(fun, fun('Hello'))

Tässä blogissa olemme käsitelleet joitakin perus Python-funktioita, tarkempia aiheita funktioista käsitellään seuraavassa blogikirjoituksessa.

python_functions

Saatat myös pitää JavaScript-kurssistamme aloittelijasta edistyneeseen.

Robert Whitney

JavaScript-asiantuntija ja opettaja, joka valmentaa IT-osastoja. Hänen päämääränsä on nostaa tiimin tuottavuutta opettamalla muille, kuinka tehdä tehokasta yhteistyötä koodauksen aikana.

View all posts →