Funktion kutsuminen Pythonissa: Ultimate Guide

Funktiot ovat olennainen ohjelmoinnin käsite, jonka avulla voit hallita ja käyttää uudelleen koodilohkoja. Funktioiden kutsuminen Pythonissa on keskeinen oppimistaito.

Tässä opetusohjelmassa opit toimintojen kutsumisen perusteet sekä vinkkejä tehokkaan koodin kirjoittamiseen, joka on helpompi ymmärtää.

Hallintatoiminnot eivät ainoastaan ​​auta sinua luomaan monipuolisempaa koodia, vaan myös virtaviivaistavat ohjelmointiprosessiasi ja parantavat yleistä tehokkuuttasi kehittäjänä.

Funktioilla on samat taustaperiaatteet, ja kun hallitset funktiot Pythonissa, voit laajentaa ymmärrystäsi funktioista verrattuna muihin ohjelmointikieliin, kuten Java, R, JavaScript, PHP jne.

Funktion kutsuminen Pythonissa: Ultimate Guide

Sisällysluettelo

Mikä on funktio?

Pythonin toiminnon avulla voit luoda uudelleenkäytettäviä koodinpätkiä, joita voidaan kutsua koko ohjelmassa, mikä yksinkertaistaa koodia ja parantaa luettavuutta. Se suorittaa tietyn tehtävän tai tehtäväjoukon, ja sitä voidaan kutsua useita kertoja ohjelman sisällä. 

Funktion määrittäminen Pythonissa

Pythonissa on kaksi pääluokkaa funktioita:

  • Käyttäjän määrittämät toiminnot: Toiminnot, jotka ohjelmoija määrittelee koodin toiston välttämiseksi
  • Sisäänrakennetut toiminnot : Funktiot, jotka joku muu on määrittänyt ja joita voidaan käyttää koodissasi tarvittavien pakettien asentamisen jälkeen

Tämä osa keskittyy käyttäjän määrittämiin toimintoihin. Opit:

  • Kuinka määritellä funktio Pythonissa
  • Toiminnon syntaksi
  • Kuinka käyttää parametreja ja argumentteja

Funktion syntaksi

Avainsana def , jota seuraa funktion nimi ja sulkeet, mahdollistaa funktion määrittämisen Pythonissa. Funktion runko on sisennetty ja sisältää koodin, joka suoritetaan, kun funktiota kutsutaan. Alla on esimerkki Pythonin perustoiminnosta:

def tervehtiä(): print("Hei, maailma!") tervehtiä()

Avainsana def määrittelee uuden funktion, jonka nimi on tervehdys. Kolmas koodirivi kutsuu funktion, joka suorittaa koodin funktion sisällä.

Funktion kutsuminen Pythonissa: Ultimate Guide

printYllä olevan koodin rivi on myös funktio . Jos kuitenkin työskentelet Python 2 -ympäristössä, se määritellään lauseeksi. Myöhemmin Python 3:ssa se muutettiin lauseesta funktioksi.

Parametrit ja argumentit

Parametrit ovat funktion määritelmän paikkamerkkejä, kun taas argumentit ovat arvoja, jotka välitetään funktiota kutsuttaessa.

Jos haluat määrittää parametreja, sisällytä ne funktiomäärityksen sulkeisiin pilkuilla erotettuina, jos parametreja on useita. Kun kutsut funktiota, annat syötearvot, joita kutsutaan argumenteiksi. Seuraava esimerkki havainnollistaa funktion määrittämisen, joka ottaa kaksi parametria:

def add_numbers(a, b): palauttaa a+b

return Funktion rungossa oleva lauseke palauttaa siihen välitetyn kahden argumentin lisäyksen . Voit ajatella sitä laskimena, johon syötät arvot ja saat vastineeksi halutun tuloksen.

Kun funktio on määritelty, voimme kutsua sitä valitsemillamme argumenteilla.

add_numbers(3, 5)

Funktion kutsuminen Pythonissa: Ultimate Guide

Kwargin argumentti

kwargs on lyhenne sanoista "avainsana argumentit" Pythonissa. Sen avulla voit laajentaa funktion joustavuutta sallimalla kutsujan määrittää minkä tahansa määrän avainsanaargumentteja funktiota kutsuessaan. Avainsanaargumentit välitetään funktiolle sanakirjana.

Funktiomäärittelyssä voit käyttää kaksinkertaista tähdellä olevaa **syntaksia ennen parametrin nimeä hyväksyäksesi avainsanaargumentteja.

def my_function(**kwargs): avaimelle arvo kwargs.items(): print(f"{key} = {arvo}") my_function(a=1, b=2, c=3)

Tässä esimerkissä kwargs on sanakirja, joka sisältää funktiolle välitetyt avainsanaargumentit. Tulos näkyy alla olevassa kuvassa:

Funktion kutsuminen Pythonissa: Ultimate Guide

Toiminnon kutsuminen

Funktion kutsuminen tarkoittaa koodin suorittamista funktion rungossa. Pythonissa on neljän tyyppisiä funktiokutsuja:

  • Perustoimintokutsu
  • Kutsuminen kantaargumenteilla
  • Soittaminen avainsanaargumenttien avulla

Perustoimintokutsu

Perusfunktiokutsu kutsuu funktion välittämättä argumentteja funktioon. Kun olet määrittänyt funktion, voit kutsua sitä käyttämällä sen nimeä ja sulkeita.

Jos funktio ei ota argumentteja, sulut ovat tyhjiä. Alla oleva koodi on esimerkki perustoiminnosta.

def welcome_message(): print("Tervetuloa LuckyTemplates!") Tervetuloa_message()

Yllä olevan koodin suorittaminen antaa seuraavan tuloksen:

Funktion kutsuminen Pythonissa: Ultimate Guide

Positiaaliset argumentit

Sijaintiargumentit ovat yleisin argumenttityyppi, ja ne välitetään funktiolle samassa järjestyksessä kuin ne on määritetty. Seuraavassa on esimerkki funktiokutsusta paikkaargumenteilla:

def tervetuloa_message(nimi): print(f"Tervetuloa LuckyTemplatesiin, {nimi}!") tervetuloa_message("John")

Yllä olevassa esimerkissä funktio welcome_message()ottaa yhden argumentin, name. Kun kutsut tätä funktiota argumentilla John, se tulostaa viestin nimen viereen.

Yllä oleva koodi antaa seuraavan tulosteen:

Funktion kutsuminen Pythonissa: Ultimate Guide

Avainsana-argumentit

Toinen tapa välittää argumentteja funktiolle on käyttää avainsanaargumentteja. Avainsanaargumenttien avulla voit määrittää parametrin nimen ja sen arvon, mikä tekee koodista luettavamman ja vähentää mahdollisuutta välittää argumentit väärässä järjestyksessä. 

Alla oleva esimerkki käyttää avainsanaargumentteja funktion kutsumiseen welcome_message:

def welcome_message(nimi, viesti='Tervetuloa LuckyTemplates!'): print(viesti, nimi) welcome_message(name='Liisa', message='Hyvää huomenta')

Tässä esimerkissä olemme määrittäneet funktion, welcome_message()jolla on kaksi parametria, nameja message. Viestiparametrin oletusargumentti on Welcome to LuckyTemplates!Kun funktiota kutsutaan, käytämme avainsanaargumentteja arvon välittämiseen John, jolloin tulos onWelcome to LuckyTemplates! John.

Funktion kutsuminen Pythonissa: Ultimate Guide

Palautusarvot

Kun työskentelet funktioiden kanssa, haluat usein palauttaa funktiosi kehon sisällä suoritettujen toimintojen tulokset. Palautusarvot sallivat funktion lähettää tuloksen takaisin soittajalle. Ymmärtämällä, kuinka yhden ja usean palautusarvon kanssa työskentelet, voit parantaa Python-ohjelmiesi toimivuutta.

Yksittäinen palautusarvo

Yhden palautusarvon funktio palauttaa yhden arvon funktion toiminnoista.

Alla on esimerkki yhden palautusarvon funktiosta:

def get_greeting(name): return "Hei, " + nimi + "!" tervehdys = get_greeting("Liisa") print(tervehdys)

Yllä olevassa esimerkissä funktio get_greetingottaa nimen, koska sen funktion argumentti kääntää sen ja palauttaa henkilökohtaisen tervehdyksen. Palautusarvo tallennetaan sitten muuttujan tervehdykseen ja tulostetaan konsoliin.

Funktion kutsuminen Pythonissa: Ultimate Guide

Useita palautusarvoja

Toisinaan sinun on palautettava useampi kuin yksi arvo Pythonin funktiosta. Tämän saavuttamiseksi voit käyttää monikkoa tai listaa rivittääksesi palautusarvot.

Seuraavassa on esimerkki useiden palautusarvojen funktiosta Python-ohjelmointikielessä.

def get_name_and_age(): return ("John", 30) nimi, ikä = get_name_and_age() print(nimi) print(ikä)

Funktion kutsuminen Pythonissa: Ultimate Guide

Tässä esimerkissä get_name_and_ageon funktio, joka palauttaa monikon kahdella arvolla: a name ja an age.

Voit myös palauttaa . Alla oleva funktio näyttää listan palautusarvon funktiosta.

def laskea_alueet(korkeus, leveys): palauttaa [korkeus * leveys, (korkeus * leveys) / 2] alue, kolmion_alue = laske_alueet(10, 5) print(ala) print(kolmio_alue)

Funktion kutsuminen Pythonissa: Ultimate Guide

Tässä tapauksessa funktio calculate_areasottaa kaksi argumenttia, height, ja width, ja palauttaa luettelon, joka sisältää suorakulmion alueen ja kolmion alueen.

Python-funktioiden välittäminen argumentteina

Python antaa sinun välittää toimintoja argumenteina muille funktioille. Kun funktio hyväksyy toisen funktion argumenttina, sitä kutsutaan korkeamman asteen funktioksi.

Alla oleva koodi on esimerkki funktion välittämisestä toiseen funktioon Pythonissa:

def square(x): return x * x def double(x): return x * 2 def apply_func(func, x): return func(x) result = apply_func(neliö, 5)

Funktion kutsuminen Pythonissa: Ultimate Guide

Sisäkkäiset toiminnot

Sisäkkäiset funktiot ovat toisessa funktiossa määritettyjä toimintoja, joita kutsutaan myös sisäisiksi funktioiksi. Nämä voivat olla hyödyllisiä luotaessa sulkuja ja modulaarista koodia. 

Jos haluat luoda sisäkkäisen funktion, määritä funktio toisessa funktiossa:

def outer_function(x, y): def inner_function(z): return x + y + z result = inner_function(3) return result # Kutsu ulompi funktio print(outer_function(1, 2))

Yllä olevassa esimerkissä inner_function on määritelty ulko_funktiossa. Sisätoiminnolla on pääsy ulkoisen funktion muuttujiin, jolloin se voi suorittaa niille toimintoja.

Funktion kutsuminen Pythonissa: Ultimate Guide

Lambdan toiminnot

Lambda-funktiot, jotka tunnetaan myös anonyymeinä funktioina, ovat tapa luoda pieniä, kertakäyttöisiä toimintoja Pythonissa. Datatieteen projekteissa työskentelet usein Lambda-toimintojen kanssa tehokkaiden tietorakenteiden ja putkien luomiseksi.

Voit luoda lambda-funktion käyttämällä lambda-avainsanaa, jota seuraa argumenttiluettelo, kaksoispiste ja sitten lauseke. Lauseke on se, minkä lambda-funktio palauttaa, kun sitä kutsutaan. Seuraavassa on esimerkki lambda-funktiosta Pythonissa:

add = lambda a, b: a + b tulos = add(3, 4) print(tulos) # Tulos: 7

Yllä olevassa esimerkissä loimme lambda-funktion, joka ottaa kaksi argumenttia ( a ja b) ja palauttaa niiden summan. Määritimme tämän lambda-funktion muuttujalle nimeltä add.

Funktion kutsuminen Pythonissa: Ultimate Guide

Lambda voi olla hyödyllinen seuraavissa tilanteissa:

  • Argumentteina korkeamman asteen funktioille, kuten map(), filter() ja sorted().
  • Avaintoimintoina luetteloiden tai sanakirjojen lajittelussa.

Seuraava esimerkki havainnollistaa korkeamman asteen funktion filter() käyttöä lambdan kanssa:

numerot = [1, 2, 3, 4, 5, 6, 7, 8, 9] parilliset_luvut = lista(suodatin(lambda x: x % 2 == 0, numerot)) print(parilliset_luvut) # Tulostus: [2, 4, 6, 8]


Tässä esimerkissä käytimme lambda-funktiota määrittämään suodatuskriteerit filter()-funktiolle. Lambda-funktio tarkistaa, onko luku parillinen, ja filter()-funktio palauttaa uuden luettelon, joka sisältää vain parilliset luvut.

Funktion kutsuminen Pythonissa: Ultimate Guide

Katso alla olevasta videosta esimerkki siitä, kuinka toiminnot voivat olla hyödyllisiä erilaisissa datatieteen skenaarioissa:

Rekursio

Rekursio on ohjelmoinnin tekniikka, jossa funktio kutsuu itseään. Tämä voi olla hyödyllinen tapa ratkaista monimutkaisia ​​ongelmia jakamalla ne pienempiin, identtisiin osaongelmiin.

Kun luot rekursiivista funktiota, sinun on pidettävä mielessä kaksi asiaa: peruskirjain ja rekursiivinen tapaus. 

  • Perustapaus on ehto, joka pysäyttää rekursion
  • Rekursiivisessa tapauksessa funktio kutsuu itseään. Rekursiivinen tapaus toimii funktion iteraattorina

Seuraava esimerkki näyttää rekursiiviset funktiot Pythonissa:

def factorial(n): jos n == 1: return 1 return n * factorial(n - 1) factorial(5)

Tässä esimerkissä perustapaus on kun n == 1, ja funktio palauttaa 1. Rekursiivinen tapaus tapahtuu, kun n ei ole yhtä suuri kuin 1, ja funktio kutsuu itseään komennolla n - 1.

Funktion kutsuminen Pythonissa: Ultimate Guide

Yleiset virheet ja vianetsintä

Jos olet aloittelija ohjelmoija, törmäät usein virheisiin toteuttaessasi toimintoja, kuten rekursiivisia ja lambda-funktioita. Seuraavissa osissa esitellään muutamia yleisiä virheitä ja vianetsintävinkkejä, jotka auttavat sinua ratkaisemaan ne tehokkaasti.

1. TypeError: puuttuu vaadittu argumentti : Tämä virhe ilmenee, kun et anna oikeaa määrää argumentteja, joita funktio odottaa.

def my_function(fname, lname): print(fname, lname) # Oikea kutsu my_function("John", "Doe") # Aiheuttaa virheen my_function("John")

Funktion kutsuminen Pythonissa: Ultimate Guide

Korjaa tämä virhe varmistamalla, että välität funktiollesi oikean määrän argumentteja.

2. TypeError: operandityyppiä ei tueta . Tämä virhe saattaa ilmetä, kun yrität käyttää operaattoria, jonka tyypit eivät ole yhteensopivia.

def add_number(a, b): return a + b # Oikea puhelun tulos = add_number(5, 3) print(tulos) # Aiheuttaa virheen virheellisen argin takia tulos = add_number("5", 3) print(result)

Funktion kutsuminen Pythonissa: Ultimate Guide

Korjaa tämä virhe tarkistamalla, että funktiosi käsittelevät oikeita tietotyyppejä, ja harkitse tarvittaessa tyyppivalun käyttöä

3. NameError: nimi 'funktion_nimi' ei ole määritelty : Tämä virhe viittaa siihen, että funktiota ei ole määritetty ennen sen kutsumista. 

# Oikea järjestys def greet(): print("Hei, siellä!") greet() # Virheellinen järjestys goodbye() def goodbye(): print("Hyvästi!")

Funktion kutsuminen Pythonissa: Ultimate Guide

Korjaa tämä virhe varmistamalla, että funktio on määritetty oikein ja että kutsut sitä määrityksen jälkeen.

Johtopäätös

Kertaaksesi ja auttaaksemme sinua vahvistamaan ymmärrystäsi, seuraavat kohdat tiivistävät Pythonin funktioiden kutsumisen keskeiset näkökohdat:

  • Kun haluat kutsua funktiota, käytä funktion nimeä ja sulkeita (esim. function_name()).
  • Jos funktio ottaa argumentteja, sisällytä ne sulkeisiin (esim. function_name(arg1, arg2)).
  • Voit luoda omia funktioita käyttämällä def-avainsanaa, määrittelemällä funktion laajuuden ja tarvittavat argumentit.
  • Kun kutsut funktiota, joka palauttaa arvon, voit määrittää tuloksen muuttujalle myöhempää käyttöä varten (esim. result = function_name(args)).

Päivämäärätaulukon luominen LuckyTemplatesissa

Päivämäärätaulukon luominen LuckyTemplatesissa

Ota selvää, miksi LuckyTemplatesissa on tärkeää pitää oma päivämäärätaulukko ja opi nopein ja tehokkain tapa tehdä se.

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

Tämä lyhyt opetusohjelma korostaa LuckyTemplates-mobiiliraportointiominaisuutta. Näytän sinulle, kuinka voit kehittää raportteja tehokkaasti mobiililaitteille.

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Tässä LuckyTemplates Showcase -esittelyssä käymme läpi raportteja, jotka näyttävät ammattitaitoisen palveluanalytiikan yritykseltä, jolla on useita sopimuksia ja asiakkaiden sitoumuksia.

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Käy läpi tärkeimmät Power Appsin ja Power Automaten päivitykset sekä niiden edut ja vaikutukset Microsoft Power Platformiin.

Yleiset SQL-funktiot: Yleiskatsaus

Yleiset SQL-funktiot: Yleiskatsaus

Tutustu joihinkin yleisiin SQL-toimintoihin, joita voimme käyttää, kuten merkkijono, päivämäärä ja joitain lisätoimintoja tietojen käsittelyyn tai käsittelyyn.

LuckyTemplates-mallin luominen: opas ja vinkkejä

LuckyTemplates-mallin luominen: opas ja vinkkejä

Tässä opetusohjelmassa opit luomaan täydellisen LuckyTemplates-mallin, joka on määritetty tarpeidesi ja mieltymystesi mukaan.

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Tässä blogissa esittelemme, kuinka kerrostat kenttäparametreja pienillä kerroilla uskomattoman hyödyllisten näkemysten ja visuaalien luomiseksi.

LuckyTemplates-sijoitus ja mukautettu ryhmittely

LuckyTemplates-sijoitus ja mukautettu ryhmittely

Tässä blogissa opit käyttämään LuckyTemplates-sijoitus- ja mukautettuja ryhmittelyominaisuuksia näytetietojen segmentoimiseen ja luokitteluun kriteerien mukaan.

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

Tässä opetusohjelmassa käsittelen tiettyä tekniikkaa, jolla voit näyttää kumulatiivisen kokonaissumman LuckyTemplates-visuaaleissasi vain tiettyyn päivämäärään asti.

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Opi luomaan ja mukauttamaan Bullet-kaavioita LuckyTemplatesissa, joita käytetään pääasiassa suorituskyvyn mittaamiseen suhteessa tavoitteeseen tai edellisiin vuosiin.