Python funkcijos yra teiginių, grąžinančių konkrečią užduotį, blokas. Idėja yra sujungti kai kurias dažnai ar pakartotinai atliekamas užduotis ir sukurti funkciją, kad užuot vėl ir vėl rašius tą patį kodą skirtingoms įvestims, galėtume atlikti funkcijų iškvietimus, kad pakartotinai panaudotume jame esantį kodą.
Kai kurie Funkcijų naudojimo pranašumai
- Padidinkite kodo skaitomumą
- Padidinkite kodo pakartotinį naudojimą
Python funkcijos deklaracija
Funkcijos deklaravimo sintaksė yra tokia:

Python funkcijos deklaracijos sintaksė
Python funkcijų tipai
Žemiau pateikiami įvairių tipų funkcijos Python :
- Integruota bibliotekos funkcija: Šitie yra Standartinės funkcijos Python, kuriuos galima naudoti.
- Vartotojo nustatyta funkcija: Galime sukurti savo funkcijas pagal savo poreikius.
Funkcijos kūrimas Python
Mes galime apibrėžti funkciją Python, naudodami def raktažodį. Mes galime pridėti bet kokių funkcijų ir savybių, kaip mums reikia. Pagal šį pavyzdį galime suprasti, kaip parašyti funkciją Python. Tokiu būdu galime sukurti Python funkcijos apibrėžimą naudodami def raktinį žodį.
Python3 # A simple Python function def fun(): print('Welcome to GFG')>
Funkcijos iškvietimas Python
Sukūrę funkciją Python, galime ją iškviesti naudodami funkcijų pavadinimus Python ir skliausteliuose, kuriuose yra tos konkrečios funkcijos parametrai. Žemiau pateikiamas def funkcijos Python iškvietimo pavyzdys.
Python3 # A simple Python function def fun(): print('Welcome to GFG') # Driver code to call a function fun()>
Išvestis:
pyspark pamoka
Welcome to GFG>
Python funkcija su parametrais
Jei turite patirties su C/C++ arba Java, tuomet turėtumėte pagalvoti apie grąžinimo tipas funkcijos ir duomenų tipas argumentų. Tai įmanoma ir Python (ypač Python 3.5 ir naujesnėms versijoms).
Python funkcijos sintaksė su parametrais
def function_name(parameter: data_type) ->return_type: '''Docstring''' # funkcijos return išraiškos turinys>
Toliau pateikiamas naudojimo pavyzdys argumentai ir parametrai kuriuos sužinosite vėliau šiame straipsnyje, kad galėtumėte grįžti prie jo dar kartą, jei nesuprastumėte.
Python3 def add(num1: int, num2: int) ->int: '''Pridėti du skaičius''' num3 = skaičius1 + skaičius2 return num3 # Tvarkyklės kodas num1, num2 = 5, 15 ans = add(num1, num2) print(f'Pridėjimas {num1} ir {num2} rezultatai {ans}.')>
Išvestis:
The addition of 5 and 15 results 20.>
Python3Pastaba: Šie pavyzdžiai yra apibrėžti naudojant 1 sintaksę. Praktiškai pabandykite juos konvertuoti į 2 sintaksę.
# 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))>
Išvestis:
False True>
Python funkcijos argumentai
Argumentai yra reikšmės, perduodamos funkcijos skliausteliuose. Funkcija gali turėti bet kokį skaičių argumentų, atskirtų kableliu.
Šiame pavyzdyje mes sukursime paprastą funkciją Python, kad patikrintume, ar skaičius, perduotas kaip funkcijos argumentas, yra lyginis ar nelyginis.
Python3 # 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)>
Išvestis:
even odd>
Python funkcijos argumentų tipai
Python palaiko įvairių tipų argumentus, kuriuos galima perduoti funkcijos iškvietimo metu. „Python“ sistemoje „Python“ turime šiuos funkcijų argumentų tipus:
- Numatytasis argumentas
- Raktinio žodžio argumentai (pavadinti argumentai)
- Poziciniai argumentai
- Savavališki argumentai (kintamo ilgio argumentai *args ir **kwargs)
Išsamiai aptarkime kiekvieną tipą.
Numatytieji argumentai
A numatytasis argumentas yra parametras, kuris prisiima numatytąją reikšmę, jei to argumento funkcijos kvietime reikšmė nepateikiama. Šis pavyzdys iliustruoja numatytuosius argumentus funkcijoms rašyti Python.
Python3 # 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)>
Išvestis:
x: 10 y: 50>
Kaip ir numatytieji C++ argumentai, bet koks funkcijos argumentų skaičius gali turėti numatytąją reikšmę. Tačiau kai turime numatytąjį argumentą, visi jo dešinėje esantys argumentai taip pat turi turėti numatytąsias reikšmes.
Raktažodžių argumentai
Idėja yra leisti skambinančiajam nurodyti argumento pavadinimą su reikšmėmis, kad skambinančiajam nereikėtų atsiminti parametrų eilės.
Python3 # 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')>
Išvestis:
Geeks Practice Geeks Practice>
Poziciniai argumentai
Mes panaudojome Pozicijos argumentas funkcijos iškvietimo metu, kad pirmasis argumentas (arba reikšmė) būtų priskirtas pavadinimui, o antrasis argumentas (arba reikšmė) – amžiui. Pakeitus poziciją arba pamiršus pozicijų tvarką, reikšmės gali būti naudojamos netinkamose vietose, kaip parodyta toliau pateiktame 2 atvejo pavyzdyje, kur vardui priskiriami 27, o amžiui – Suraj.
Python3 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')>
Išvestis:
Case-1: Hi, I am Suraj My age is 27 Case-2: Hi, I am 27 My age is Suraj>
Savavališki raktinių žodžių argumentai
„Python“ savavališkuose raktinių žodžių argumentuose, *args ir **kwargs gali perduoti kintamą argumentų skaičių funkcijai naudodamas specialius simbolius. Yra du specialūs simboliai:
- *Args Python (ne raktinio žodžio argumentai)
- **kwargs Python (raktinių žodžių argumentai)
1 pavyzdys: Kintamo ilgio ne raktinių žodžių argumentas
Python3 # 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')>
Išvestis:
Hello Welcome to techcodeview.com>
2 pavyzdys: Kintamo ilgio raktinių žodžių argumentai
Python3 # 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')>
Išvestis:
first == Geeks mid == for last == Geeks>
Dokumentų eilutė
Pirmoji eilutė po funkcijos vadinama dokumento eilute arba Dokumentų eilutė trumpai tariant. Tai naudojama funkcijos funkcionalumui apibūdinti. Dokumentų eilutės naudojimas funkcijose yra neprivalomas, tačiau tai laikoma gera praktika.
Toliau pateikta sintaksė gali būti naudojama funkcijos dokumentų eilutei išspausdinti.
Syntax: print(function_name.__doc__)>
Pavyzdys: Docsstring pridėjimas prie funkcijos
Python3 # 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__)>
Išvestis:
Function to check if the number is even or odd>
Python funkcija funkcijose
Funkcija, apibrėžta kitoje funkcijoje, yra žinoma kaip vidinė funkcija arba įdėta funkcija . Įdėtos funkcijos gali pasiekti apimančios apimties kintamuosius. Vidinės funkcijos naudojamos tam, kad jas būtų galima apsaugoti nuo visko, kas vyksta už funkcijos ribų.
Python3 # 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()>
Išvestis:
I love techcodeview.com>
Anoniminės funkcijos Python
Python, an anoniminė funkcija reiškia, kad funkcija yra be pavadinimo. Kaip jau žinome, raktinis žodis def naudojamas įprastoms funkcijoms apibrėžti, o raktinis žodis lambda naudojamas anoniminėms funkcijoms kurti.
Python3 # 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))>
Išvestis:
kaip ištrinti stulpelį postgresql
343 343>
Rekursinės funkcijos Python
Rekursija Python kalba reiškia, kai funkcija iškviečia save. Yra daug atvejų, kai norint išspręsti reikia sukurti rekursinę funkciją Matematinės ir rekursinės problemos.
Rekursyvinę funkciją reikia naudoti atsargiai, nes rekursinė funkcija gali tapti kaip nesibaigianti kilpa. Kuriant rekursinę funkciją, geriau patikrinti išėjimo teiginį.
Python3 def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) print(factorial(4))>
Išvestis
24>
Čia sukūrėme rekursinę funkciją skaičiaus faktoriui apskaičiuoti. Galite matyti šios funkcijos pabaigos teiginį, kai n yra lygus 0.
Grąžinimo pareiškimas Python funkcijoje
Funkcijos return sakinys naudojamas išeiti iš funkcijos ir grįžti į funkcijos skambinantįjį bei grąžinti nurodytą reikšmę arba duomenų elementą skambinančiajam. Grįžimo teiginio sintaksė yra tokia:
return [expression_list]>
Grįžimo sakinį gali sudaryti kintamasis, išraiška arba konstanta, kuri grąžinama funkcijos vykdymo pabaigoje. Jei grąžinimo sakinyje nėra nė vieno iš aukščiau paminėtų dalykų, grąžinamas objektas None.
Pavyzdys: Python funkcijos grąžinimo pareiškimas
Python3 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))>
Išvestis:
4 16>
Praeiti pagal nuorodą ir praleisti vertę
Svarbu atkreipti dėmesį į tai, kad Python kiekvienas kintamojo pavadinimas yra nuoroda. Kai perduodame kintamąjį funkcijai Python, sukuriama nauja nuoroda į objektą. Parametrų perdavimas Python yra toks pat kaip nuorodų perdavimas Java.
Python3 # 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)>
Išvestis:
[20, 11, 12, 13, 14, 15]>
Kai perduodame nuorodą ir pakeičiame gautą nuorodą į ką nors kita, ryšys tarp perduodamų ir gautų parametrų nutrūksta. Pavyzdžiui, apsvarstykite toliau pateiktą programą taip:
Python3 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)>
Išvestis:
[10, 11, 12, 13, 14, 15]>
Kitas pavyzdys rodo, kad nuorodos nuoroda nutrūksta, jei priskiriame naują reikšmę (funkcijos viduje).
Python3 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)>
Išvestis:
java žemėlapis
10>
Pratimas: Pabandykite atspėti šio kodo išvestį.
Python3 def swap(x, y): temp = x x = y y = temp # Driver code x = 2 y = 3 swap(x, y) print(x) print(y)>
Išvestis:
2 3>
Greitos nuorodos
- Viktorina apie Python funkcijas
- Skirtumas tarp metodo ir funkcijos Python
- Pirmos klasės funkcijos Python
- Naujausi straipsniai apie Python funkcijas .
DUK – Python funkcijos
Q1. Kas yra funkcija Python?
Python funkcija yra kodo blokas, kuris veikia tik tada, kai jis iškviečiamas. Jis užprogramuotas grąžinti konkrečią užduotį. Galite perduoti reikšmes funkcijose, vadinamose parametrais. Tai padeda atlikti pasikartojančias užduotis.
Q2. Kokie yra 4 Python funkcijų tipai?
Pagrindiniai Python funkcijų tipai yra šie:
- Integruota funkcija
- Vartotojo nustatyta funkcija
- Lambda funkcijos
- Rekursinės funkcijos
Q3. H kaip parašyti funkciją Python ?
Norėdami parašyti funkciją Python, galite naudoti def raktinį žodį ir tada parašyti funkcijos pavadinimą. Po naudojimo galite pateikti funkcijos kodą ':'. Pagrindinė funkcijos apibrėžimo sintaksė yra:
def function_name():
#pareiškimas
4 klausimas. Kokie yra Python funkcijos parametrai?
Python parametrai yra kintamieji, kurie perduodamas reikšmes kaip argumentus priima iškviečiant funkcijas. Funkcija gali turėti bet kokį skaičių parametrų. Taip pat galite nustatyti numatytąją reikšmę Python parametrui.