Python-funktiot on lauselohko, joka palauttaa tietyn tehtävän. Ajatuksena on koota joitakin usein tai toistuvasti tehtyjä tehtäviä yhteen ja tehdä funktio siten, että sen sijaan, että kirjoittaisimme samaa koodia uudestaan ja uudestaan eri syötteille, voimme tehdä funktiokutsuja käyttääksemme sen sisältämää koodia uudestaan ja uudestaan.
Jonkin verran Funktioiden käytön edut
- Lisää koodin luettavuutta
- Lisää koodin uudelleenkäytettävyyttä
Python-funktion ilmoitus
Funktion ilmoittamisen syntaksi on:

Python-funktion julistuksen syntaksi
Pythonin funktiotyypit
Alla on erityyppiset toiminnot Python :
- Sisäänrakennettu kirjastotoiminto: Nämä ovat Vakiotoiminnot Pythonissa, jotka ovat käytettävissä.
- Käyttäjän määrittämä toiminto: Voimme luoda omia toimintoja tarpeidemme mukaan.
Funktion luominen Pythonissa
Voimme määrittää funktion Pythonissa käyttämällä def avainsana. Voimme lisätä siihen mitä tahansa toimintoja ja ominaisuuksia tarpeen mukaan. Seuraavan esimerkin avulla voimme ymmärtää, kuinka funktio kirjoitetaan Pythonissa. Tällä tavalla voimme luoda Python-funktion määritelmän käyttämällä def-avainsanaa.
Python 3 # A simple Python function def fun(): print('Welcome to GFG')> Funktion kutsuminen Pythonissa
Kun funktio on luotu Pythonissa, voimme kutsua sitä käyttämällä funktioiden nimiä Python, joita seuraa suluissa, jotka sisältävät kyseisen funktion parametrit. Alla on esimerkki def-funktion Python kutsumisesta.
Python 3 # A simple Python function def fun(): print('Welcome to GFG') # Driver code to call a function fun()> Lähtö:
Welcome to GFG>
Python-funktio parametreilla
Jos sinulla on kokemusta C/C++:sta tai Javasta, sinun on harkittava palautustyyppi toiminnosta ja tietotyyppi argumenteista. Se on mahdollista myös Pythonissa (erityisesti Python 3.5:lle ja uudemmille).
Python-funktion syntaksi parametreilla
def function_name(parameter: data_type) ->return_type: '''Docstring''' # funktion paluulausekkeen runko>
Seuraava esimerkki käyttää argumentit ja parametrit jonka opit myöhemmin tässä artikkelissa, jotta voit palata siihen uudelleen, jos et ymmärrä.
Python 3 def add(num1: int, num2: int) ->int: '''Lisää kaksi numeroa''' num3 = numero1 + num2 return num3 # Ohjainkoodi num1, num2 = 5, 15 ans = add(num1, num2) print(f' {num1} ja {num2} tulosta {ans}.')> Lähtö:
The addition of 5 and 15 results 20.>
Python 3Huomautus: Seuraavat esimerkit on määritelty syntaksilla 1, yritä muuntaa ne syntaksilla 2 harjoittelua varten.
# some more functions def is_prime(n): if n in [2, 3]: return True if (n == 1) or (n % 2 == 0): return False r = 3 while r * r <= n: if n % r == 0: return False r += 2 return True print(is_prime(78), is_prime(79))>
Lähtö:
False True>
Python-funktion argumentit
Argumentit ovat arvoja, jotka välitetään funktion suluissa. Funktiolla voi olla mikä tahansa määrä pilkulla erotettuja argumentteja.
Tässä esimerkissä luomme Pythonissa yksinkertaisen funktion tarkistaaksemme, onko funktiolle argumenttina välitetty luku parillinen vai pariton.
Python 3 # A simple Python function to check # whether x is even or odd def evenOdd(x): if (x % 2 == 0): print('even') else: print('odd') # Driver code to call the function evenOdd(2) evenOdd(3)> Lähtö:
even odd>
Python-funktion argumenttien tyypit
Python tukee erityyppisiä argumentteja, jotka voidaan välittää funktiokutsun aikana. Pythonissa meillä on seuraavat funktion argumenttityypit Pythonissa:
- Oletusargumentti
- Avainsanaargumentit (nimetyt argumentit)
- Asema-argumentit
- Mielivaltaisia argumentteja (vaihtuvapituiset argumentit *args ja **kwargs)
Keskustellaan jokaisesta tyypistä yksityiskohtaisesti.
Oletusargumentit
A oletusargumentti on parametri, joka saa oletusarvon, jos arvoa ei ole annettu kyseisen argumentin funktiokutsussa. Seuraava esimerkki havainnollistaa oletusargumentteja funktioiden kirjoittamiseen Pythonissa.
Python 3 # Python program to demonstrate # default arguments def myFun(x, y=50): print('x: ', x) print('y: ', y) # Driver code (We call myFun() with only # argument) myFun(10)> Lähtö:
x: 10 y: 50>
Kuten C++-oletusargumentit, millä tahansa funktion argumenttien määrällä voi olla oletusarvo. Mutta kun meillä on oletusargumentti, kaikilla sen oikealla puolella olevilla argumenteilla on myös oltava oletusarvot.
python chr -funktio
Avainsana-argumentit
Ajatuksena on antaa soittajan määrittää argumentin nimi arvoineen, jotta soittajan ei tarvitse muistaa parametrien järjestystä.
Python 3 # Python program to demonstrate Keyword Arguments def student(firstname, lastname): print(firstname, lastname) # Keyword arguments student(firstname='Geeks', lastname='Practice') student(lastname='Practice', firstname='Geeks')>
Lähtö:
Geeks Practice Geeks Practice>
Positiaaliset argumentit
Käytimme Aseman argumentti funktiokutsun aikana siten, että ensimmäinen argumentti (tai arvo) on määritetty nimelle ja toinen argumentti (tai arvo) ikään. Asemaa vaihtamalla tai jos unohdat asemien järjestyksen, arvoja voidaan käyttää vääriin paikkoihin, kuten alla olevassa esimerkissä Case-2, jossa nimeen on määritetty 27 ja ikään Suraj.
Python 3 def nameAge(name, age): print('Hi, I am', name) print('My age is ', age) # You will get correct output because # argument is given in order print('Case-1:') nameAge('Suraj', 27) # You will get incorrect output because # argument is not in order print('
Case-2:') nameAge(27, 'Suraj')> Lähtö:
Case-1: Hi, I am Suraj My age is 27 Case-2: Hi, I am 27 My age is Suraj>
Mielivaltaiset avainsana-argumentit
Pythonissa mielivaltaisissa avainsana-argumenteissa, *args ja **kwargs voi välittää muuttuvan määrän argumentteja funktiolle erikoissymbolien avulla. On olemassa kaksi erikoissymbolia:
- *argumentit Pythonissa (ei-avainsana-argumentit)
- **kwargs Pythonissa (avainsana-argumentit)
Esimerkki 1: Muuttuvan pituuden ei-avainsanojen argumentti
Python 3 # Python program to illustrate # *args for variable number of arguments def myFun(*argv): for arg in argv: print(arg) myFun('Hello', 'Welcome', 'to', 'techcodeview.com')> Lähtö:
Hello Welcome to techcodeview.com>
Esimerkki 2: Vaihtuvapituiset avainsanaargumentit
Python 3 # Python program to illustrate # *kwargs for variable number of keyword arguments def myFun(**kwargs): for key, value in kwargs.items(): print('%s == %s' % (key, value)) # Driver code myFun(first='Geeks', mid='for', last='Geeks')> Lähtö:
first == Geeks mid == for last == Geeks>
Doctring
Ensimmäistä merkkijonoa funktion jälkeen kutsutaan asiakirjamerkkijonoksi tai Doctring lyhyesti. Tätä käytetään kuvaamaan toiminnon toimivuutta. Docstringin käyttö funktioissa on valinnaista, mutta sitä pidetään hyvänä käytäntönä.
Alla olevaa syntaksia voidaan käyttää funktion dokumenttimerkkijonon tulostamiseen.
Syntax: print(function_name.__doc__)>
Esimerkki: Docsstringin lisääminen toimintoon
Python 3 # A simple Python function to check # whether x is even or odd def evenOdd(x): '''Function to check if the number is even or odd''' if (x % 2 == 0): print('even') else: print('odd') # Driver code to call the function print(evenOdd.__doc__)> Lähtö:
Function to check if the number is even or odd>
Python-funktio funktioiden sisällä
Funktiota, joka on määritelty toisen funktion sisällä, kutsutaan nimellä sisäinen toiminto tai sisäkkäinen toiminto . Sisäkkäisillä funktioilla on pääsy sisäkkäisen laajuuden muuttujiin. Sisäisiä toimintoja käytetään siten, että ne voidaan suojata kaikelta toiminnon ulkopuolella tapahtuvalta.
Python 3 # Python program to # demonstrate accessing of # variables of nested functions def f1(): s = 'I love techcodeview.com' def f2(): print(s) f2() # Driver's code f1()>
Lähtö:
I love techcodeview.com>
Anonyymit funktiot Pythonissa
Pythonissa an anonyymi toiminto tarkoittaa, että funktiolla ei ole nimeä. Kuten jo tiedämme, avainsanaa def käytetään normaalien funktioiden määrittämiseen ja lambda-avainsanaa anonyymien funktioiden luomiseen.
Python 3 # Python code to illustrate the cube of a number # using lambda function def cube(x): return x*x*x cube_v2 = lambda x : x*x*x print(cube(7)) print(cube_v2(7))>
Lähtö:
343 343>
Rekursiiviset funktiot Pythonissa
Rekursio Pythonissa viittaa siihen, kun funktio kutsuu itseään. On monia tapauksia, joissa sinun on rakennettava rekursiivinen funktio ratkaistaksesi Matemaattiset ja rekursiiviset ongelmat.
Rekursiivista funktiota tulee käyttää varoen, sillä rekursiivisesta funktiosta voi tulla kuin ei-päättyvä silmukka. On parempi tarkistaa poistumislauseesi luodessasi rekursiivista funktiota.
Python 3 def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) print(factorial(4))>
Lähtö
24>
Täällä olemme luoneet rekursiivisen funktion luvun kertoimen laskemiseksi. Näet, että tämän funktion loppulause on, kun n on yhtä suuri kuin 0.
Palautuslauseke Python-funktiossa
Funktio return -lausetta käytetään poistumaan funktiosta ja palaamaan funktion kutsujaan ja palauttamaan määritetty arvo tai tietoyksikkö kutsujalle. return-lauseen syntaksi on:
return [expression_list]>
Return-käsky voi koostua muuttujasta, lausekkeesta tai vakiosta, joka palautetaan funktion suorituksen lopussa. Jos mitään yllä olevista ei ole return-käskyssä, palautetaan None-objekti.
Esimerkki: Python-funktion palautuslauseke
Python 3 def square_value(num): '''This function returns the square value of the entered number''' return num**2 print(square_value(2)) print(square_value(-4))>
Lähtö:
4 16>
Ohita referenssi ja ohita arvo
Yksi tärkeä asia on huomata, että Pythonissa jokainen muuttujan nimi on viite. Kun siirrämme muuttujan Python-funktiolle, objektiin luodaan uusi viittaus. Parametrien välitys Pythonissa on sama kuin viitteiden välitys Javassa.
Python 3 # Here x is a new reference to same list lst def myFun(x): x[0] = 20 # Driver Code (Note that lst is modified # after function call. lst = [10, 11, 12, 13, 14, 15] myFun(lst) print(lst)>
Lähtö:
[20, 11, 12, 13, 14, 15]>
Kun välitämme viitteen ja muutamme vastaanotetun viittauksen joksikin muuksi, yhteys välitettyjen ja vastaanotettujen parametrien välillä katkeaa. Harkitse esimerkiksi alla olevaa ohjelmaa seuraavasti:
Python 3 def myFun(x): # After below line link of x with previous # object gets broken. A new object is assigned # to x. x = [20, 30, 40] # Driver Code (Note that lst is not modified # after function call. lst = [10, 11, 12, 13, 14, 15] myFun(lst) print(lst)>
Lähtö:
[10, 11, 12, 13, 14, 15]>
Toinen esimerkki osoittaa, että viitelinkki katkeaa, jos annamme uuden arvon (funktion sisällä).
Python 3 def myFun(x): # After below line link of x with previous # object gets broken. A new object is assigned # to x. x = 20 # Driver Code (Note that x is not modified # after function call. x = 10 myFun(x) print(x)>
Lähtö:
10>
Harjoittele: Yritä arvata seuraavan koodin tulos.
Python 3 def swap(x, y): temp = x x = y y = temp # Driver code x = 2 y = 3 swap(x, y) print(x) print(y)>
Lähtö:
2 3>
Pikalinkit
- Tietovisa Python-funktioista
- Ero menetelmän ja funktion välillä Pythonissa
- Ensimmäisen luokan toiminnot Pythonissa
- Viimeisimmät artikkelit Python-funktioista .
FAQ- Python-funktiot
Q1. Mikä on funktio Pythonissa?
Python-funktio on koodilohko, joka toimii vain, kun sitä kutsutaan. Se on ohjelmoitu palauttamaan tietty tehtävä. Voit välittää arvoja funktioissa, joita kutsutaan parametreiksi. Se auttaa suorittamaan toistuvia tehtäviä.
Q2. Mitkä ovat Pythonin 4 funktiotyyppiä?
Pythonin funktioiden päätyypit ovat:
- Sisäänrakennettu toiminto
- Käyttäjän määrittämä toiminto
- Lambda toiminnot
- Rekursiiviset funktiot
Q3. H kuinka kirjoittaa funktio Pythonissa ?
Voit kirjoittaa funktion Pythonissa käyttämällä def-avainsanaa ja kirjoittaa sitten funktion nimen. Voit antaa toimintokoodin käytön jälkeen ':'. Perussyntaksi funktion määrittämiseen on:
def function_name():
#lausunto
Q4. Mitkä ovat funktion parametrit Pythonissa?
Pythonin parametrit ovat muuttujia, jotka ottavat välitetyt arvot argumenteiksi funktioita kutsuttaessa. Funktiolla voi olla mikä tahansa määrä parametreja. Voit myös asettaa oletusarvon parametrille Pythonissa.