Python- tutoriaal

Python TUIS Python Intro Python Begin Python-sintaksis Python-kommentaar Python veranderlikes Python-datatipes Python-nommers Python Casting Python Strings Python Booleans Python-operateurs Python-lyste Python Tuples Python-stelle Python Woordeboeke Python As...Anders Python While Loops Python vir lusse Python-funksies Python Lambda Python-skikkings Python-klasse/-voorwerpe Python Erfenis Python Iterators Python-omvang Python-modules Python-datums Python Wiskunde Python JSON Python RegEx Python PIP Python Probeer ... Behalwe Python-gebruikersinvoer Python String Formatering

Lêerhantering

Python-lêerhantering Python Lees lêers Python Skryf/skep lêers Python verwyder lêers

Python-modules

NumPy Tutoriaal Panda Walkthrough Scipy Tutoriaal

Python Matplotlib

Matplotlib Intro Matplotlib Begin Matplotlib Pyplot Matplotlib Plotte Matplotlib Merkers Matplotlib-lyn Matplotlib-etikette Matplotlib-rooster Matplotlib Subplotte Matplotlib Scatter Matplotlib Bars Matplotlib Histogramme Matplotlib sirkeldiagramme

Masjienleer

Aan die gang kom Gemiddelde mediaanmodus Standaard afwyking Persentiel Dataverspreiding Normale dataverspreiding Strooi plot Lineêre regressie Polinoomregressie Meervoudige regressie Skaal Trein/toets Besluitboom

Python MySQL

MySQL Begin MySQL Skep databasis MySQL Skep tabel MySQL-insetsel MySQL Kies MySQL Waar MySQL Bestel deur MySQL verwyder MySQL Drop Table MySQL-opdatering MySQL-limiet MySQL Sluit aan

Python MongoDB

MongoDB Begin MongoDB Skep databasis MongoDB Skep versameling MongoDB-insetsel MongoDB Vind MongoDB-navraag MongoDB Sorteer MongoDB verwyder MongoDB Drop Collection MongoDB-opdatering MongoDB-limiet

Python-verwysing

Python Oorsig Python ingeboude funksies Python-stringmetodes Python Lys Metodes Python Woordeboek Metodes Python Tuple Metodes Python Stel metodes Python-lêermetodes Python sleutelwoorde Python-uitsonderings Python Woordelys

Moduleverwysing

Ewekansige module Versoeke Module Statistiek Module Wiskunde Module cMath-module

Python Hoe om

Verwyder lys duplikate Draai 'n snaar om Voeg twee getalle by

Python voorbeelde

Python voorbeelde Python-samesteller Python-oefeninge Python Vasvra Python-sertifikaat

Python- funksies


'n Funksie is 'n kodeblok wat slegs loop wanneer dit opgeroep word.

Jy kan data, bekend as parameters, in 'n funksie deurgee.

'n Funksie kan as gevolg daarvan data terugstuur.


Die skep van 'n funksie

In Python word 'n funksie gedefinieer met behulp van die def- sleutelwoord:

Voorbeeld

def my_function():
  print("Hello from a function")

Roep 'n funksie

Om 'n funksie te noem, gebruik die funksienaam gevolg deur hakies:

Voorbeeld

def my_function():
  print("Hello from a function")

my_function()

Argumente

Inligting kan as argumente in funksies deurgegee word.

Argumente word gespesifiseer na die funksienaam, binne die hakies. Jy kan soveel argumente byvoeg as wat jy wil, skei hulle net met 'n komma.

Die volgende voorbeeld het 'n funksie met een argument (fname). Wanneer die funksie geroep word, gee ons 'n voornaam deur wat binne die funksie gebruik word om die volle naam te druk:

Voorbeeld

def my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")

Argumente word dikwels verkort tot args in Python-dokumentasies.



Parameters of argumente?

Die terme parameter en argument kan vir dieselfde ding gebruik word: inligting wat in 'n funksie deurgegee word.

Vanuit 'n funksie se perspektief:

'n Parameter is die veranderlike wat binne die hakies in die funksiedefinisie gelys word.

'n Argument is die waarde wat na die funksie gestuur word wanneer dit geroep word.


Aantal argumente

By verstek moet 'n funksie geroep word met die korrekte aantal argumente. Dit beteken dat as jou funksie 2 argumente verwag, jy die funksie met 2 argumente moet oproep, nie meer nie en nie minder nie.

Voorbeeld

Hierdie funksie verwag 2 argumente, en kry 2 argumente:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil", "Refsnes")
As jy die funksie met 1 of 3 argumente probeer oproep, sal jy 'n fout kry:

Voorbeeld

Hierdie funksie verwag 2 argumente, maar kry slegs 1:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil")

Arbitrêre argumente, *args

As jy nie weet hoeveel argumente wat in jou funksie deurgegee sal word nie, voeg a *voor die parameternaam in die funksiedefinisie by.

Op hierdie manier sal die funksie 'n reeks argumente ontvang, en kan die items dienooreenkomstig toegang verkry:

Voorbeeld

As die aantal argumente onbekend is, voeg 'n *voor die parameternaam by:

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Emil", "Tobias", "Linus")

Arbitrêre argumente word dikwels verkort tot *args in Python-dokumentasies.


Sleutelwoordargumente

Jy kan ook argumente stuur met die sleutel = waarde sintaksis.

Op hierdie manier maak die volgorde van die argumente nie saak nie.

Voorbeeld

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")

Die frase Sleutelwoord Argumente word dikwels verkort tot kwargs in Python-dokumentasies.


Arbitrêre sleutelwoordargumente, **kwargs

As jy nie weet hoeveel sleutelwoordargumente wat in jou funksie deurgegee sal word nie, voeg twee sterretjies by: **voor die parameternaam in die funksiedefinisie.

Op hierdie manier sal die funksie 'n woordeboek van argumente ontvang, en kan die items dienooreenkomstig toegang verkry:

Voorbeeld

As die aantal sleutelwoordargumente onbekend is, voeg 'n dubbel **voor die parameternaam by:

def my_function(**kid):
  print("His last name is " + kid["lname"])

my_function(fname = "Tobias", lname = "Refsnes")

Arbitrêre Kword-argumente word dikwels verkort tot **kwargs in Python-dokumentasies.


Verstekparameterwaarde

Die volgende voorbeeld wys hoe om 'n verstekparameterwaarde te gebruik.

As ons die funksie sonder argument noem, gebruik dit die verstekwaarde:

Voorbeeld

def my_function(country = "Norway"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Deur 'n lys as 'n argument deur te gee

Jy kan enige datatipe argument na 'n funksie stuur (string, nommer, lys, woordeboek ens.), en dit sal as dieselfde datatipe binne die funksie hanteer word.

As jy byvoorbeeld 'n Lys as 'n argument stuur, sal dit steeds 'n Lys wees wanneer dit die funksie bereik:

Voorbeeld

def my_function(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)

Terugkeerwaardes

Om 'n funksie 'n waarde te laat terugstuur, gebruik die return stelling:

Voorbeeld

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))

Die pasverklaring

functiondefinisies kan nie leeg wees nie, maar as jy om een ​​of ander rede 'n functiondefinisie met geen inhoud het nie, plaas die passstelling in om te verhoed dat jy 'n fout kry.

Voorbeeld

def myfunction():
  pass

Rekursie

Python aanvaar ook funksie rekursie, wat beteken dat 'n gedefinieerde funksie homself kan noem.

Rekursie is 'n algemene wiskundige en programmeringskonsep. Dit beteken dat 'n funksie homself noem. Dit het die voordeel dat dit beteken dat jy deur data kan loop om 'n resultaat te bereik.

Die ontwikkelaar moet baie versigtig wees met rekursie, aangesien dit redelik maklik kan wees om 'n funksie te skryf wat nooit eindig nie, of een wat oortollige hoeveelhede geheue of verwerkerkrag gebruik. As dit egter korrek geskryf is, kan rekursie 'n baie doeltreffende en wiskundig-elegante benadering tot programmering wees.

In hierdie voorbeeld is tri_recursion() 'n funksie wat ons gedefinieer het om homself ("recurse") te noem. Ons gebruik die k veranderlike as die data, wat afneem ( -1 ) elke keer as ons herhalend is. Die rekursie eindig wanneer die toestand nie groter as 0 is nie (dws wanneer dit 0 is).

Vir 'n nuwe ontwikkelaar kan dit 'n rukkie neem om uit te vind hoe presies dit werk, die beste manier om uit te vind is deur dit te toets en te wysig.

Voorbeeld

Rekursie Voorbeeld

def tri_recursion(k):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(6)

Toets jouself met oefeninge

Oefening:

Skep 'n funksie met die naam my_function.

:
  print("Hello from a function")