Python -zelfstudie

Python HOME Python-intro Python Aan de slag Python-syntaxis Python-opmerkingen Python-variabelen Python-gegevenstypen Python-nummers Python-casting Python-snaren Python Booleans Python-operators Python-lijsten Python-tupels Python-sets Python-woordenboeken Python Als...Anders Python While-lussen Python voor lussen Python-functies Python Lambda Python-arrays Python-klassen/objecten Python-overerving Python-iterators Python-bereik Python-modules Python-datums Python-wiskunde Python JSON Python RegEx Python PIP Python proberen...Behalve Python-gebruikersinvoer Opmaak van Python-tekenreeksen

Bestandsbehandeling

Python-bestandsafhandeling Python-bestanden lezen Python bestanden schrijven/maken Python bestanden verwijderen

Python-modules

NumPy-zelfstudie Panda walkthrough Scipy-zelfstudie

Python Matplotlib

Matplotlib Intro Matplotlib Aan de slag Matplotlib Pyplot Matplotlib plotten Matplotlib-markeringen Matplotlib-lijn Matplotlib-labels Matplotlib-raster Matplotlib-subplots Matplotlib Scatter Matplotlib-repen Matplotlib-histogrammen Matplotlib-cirkeldiagrammen

Machinaal leren

Beginnen Gemiddelde mediane modus Standaardafwijking percentiel Gegevensdistributie Normale gegevensverdeling Scatterplot Lineaire regressie Polynomiale regressie Meervoudige regressie Schaal Trein/Test Beslissingsboom

Python MySQL

MySQL Aan de slag MySQL Database maken MySQL-tabel maken MySQL-invoeging MySQL Select MySQL Waar MySQL Bestel op MySQL verwijderen MySQL-droptabel MySQL-update MySQL-limiet MySQL Join

Python MongoDB

MongoDB Aan de slag MongoDB Database maken MongoDB Verzameling maken MongoDB invoegen MongoDB Zoeken MongoDB-query MongoDB Sorteren MongoDB verwijderen MongoDB Drop-collectie MongoDB-update MongoDB-limiet

Python-referentie

Python-overzicht Ingebouwde functies van Python Python-stringmethoden Methoden voor Python-lijst Python-woordenboekmethoden Python Tuple-methoden Methoden voor Python-sets Python-bestandsmethoden Python-trefwoorden Python-uitzonderingen Python-woordenlijst

Modulereferentie

Willekeurige module Verzoekmodule Statistiekmodule Wiskundige module cMath-module

Python-instructies

Lijstduplicaten verwijderen Een string omkeren Voeg twee nummers toe

Python-voorbeelden

Python-voorbeelden Python-compiler Python-oefeningen Python-quiz Python-certificaat

Python- functies


Een functie is een codeblok dat alleen wordt uitgevoerd als het wordt aangeroepen.

U kunt gegevens, ook wel parameters genoemd, doorgeven aan een functie.

Een functie kan als resultaat gegevens retourneren.


Een functie maken

In Python wordt een functie gedefinieerd met het sleutelwoord def :

Voorbeeld

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

Een functie aanroepen

Om een ​​functie aan te roepen, gebruikt u de functienaam gevolgd door haakjes:

Voorbeeld

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

my_function()

Argumenten

Informatie kan als argumenten worden doorgegeven aan functies.

Argumenten worden opgegeven achter de functienaam, tussen haakjes. Je kunt zoveel argumenten toevoegen als je wilt, scheid ze gewoon met een komma.

Het volgende voorbeeld heeft een functie met één argument (fname). Wanneer de functie wordt aangeroepen, geven we een voornaam door, die binnen de functie wordt gebruikt om de volledige naam af te drukken:

Voorbeeld

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

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

Argumenten worden vaak afgekort tot argumenten in Python-documentatie.



Parameters of argumenten?

De termen parameter en argument kunnen voor hetzelfde worden gebruikt: informatie die aan een functie wordt doorgegeven.

Vanuit het perspectief van een functie:

Een parameter is de variabele die tussen haakjes in de functiedefinitie wordt vermeld.

Een argument is de waarde die naar de functie wordt verzonden wanneer deze wordt aangeroepen.


Aantal argumenten

Standaard moet een functie worden aangeroepen met het juiste aantal argumenten. Dit betekent dat als uw functie 2 argumenten verwacht, u de functie met 2 argumenten moet aanroepen, niet meer en niet minder.

Voorbeeld

Deze functie verwacht 2 argumenten en krijgt 2 argumenten:

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

my_function("Emil", "Refsnes")
Als je de functie probeert aan te roepen met 1 of 3 argumenten, krijg je een foutmelding:

Voorbeeld

Deze functie verwacht 2 argumenten, maar krijgt slechts 1:

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

my_function("Emil")

Willekeurige argumenten, *args

Als u niet weet hoeveel argumenten er aan uw functie worden doorgegeven, voegt u een *vóór de parameternaam toe in de functiedefinitie.

Op deze manier ontvangt de functie een tupel argumenten en heeft ze overeenkomstige toegang tot de items:

Voorbeeld

Als het aantal argumenten niet bekend is, voeg dan een *vóór de parameternaam toe:

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

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

Willekeurige argumenten worden vaak afgekort tot *args in Python-documentatie.


Zoekwoordargumenten

U kunt ook argumenten verzenden met de syntaxis key = value .

Op deze manier doet de volgorde van de argumenten er niet toe.

Voorbeeld

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

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

De zinsnede Keyword Argumenten wordt vaak afgekort tot kwargs in Python-documentatie.


Arbitraire trefwoordargumenten, **kwargs

Als u niet weet hoeveel sleutelwoordargumenten aan uw functie worden doorgegeven, voegt u twee asterisken toe: **vóór de parameternaam in de functiedefinitie.

Op deze manier ontvangt de functie een woordenboek met argumenten en heeft ze overeenkomstige toegang tot de items:

Voorbeeld

Als het aantal trefwoordargumenten onbekend is, voeg dan een dubbel toe **voor de parameternaam:

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

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

Willekeurige Kword-argumenten worden vaak afgekort tot **kwargs in Python-documentatie.


Standaard parameterwaarde:

In het volgende voorbeeld ziet u hoe u een standaardparameterwaarde gebruikt.

Als we de functie zonder argument aanroepen, gebruikt deze de standaardwaarde:

Voorbeeld

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

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

Een lijst doorgeven als argument

U kunt elk gegevenstype argument naar een functie sturen (tekenreeks, getal, lijst, woordenboek enz.), en het zal binnen de functie als hetzelfde gegevenstype worden behandeld.

Als u bijvoorbeeld een lijst als argument verzendt, is het nog steeds een lijst wanneer deze de functie bereikt:

Voorbeeld

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

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

my_function(fruits)

Retourwaarden

Om een ​​functie een waarde te laten retourneren, gebruik je de return instructie:

Voorbeeld

def my_function(x):
  return 5 * x

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

De pasverklaring

functiondefinities kunnen niet leeg zijn, maar als je om wat voor reden dan ook een functiondefinitie hebt zonder inhoud, plaats dan de passinstructie om een ​​fout te voorkomen.

Voorbeeld

def myfunction():
  pass

Herhaling

Python accepteert ook functierecursie, wat betekent dat een gedefinieerde functie zichzelf kan aanroepen.

Recursie is een veelgebruikt wiskundig en programmeerconcept. Het betekent dat een functie zichzelf aanroept. Dit heeft als voordeel dat u door gegevens kunt bladeren om tot een resultaat te komen.

De ontwikkelaar moet heel voorzichtig zijn met recursie, aangezien het vrij gemakkelijk kan zijn om een ​​functie te gaan schrijven die nooit eindigt, of een functie die teveel geheugen of processorkracht gebruikt. Wanneer echter correct geschreven, kan recursie een zeer efficiënte en wiskundig elegante benadering van programmeren zijn.

In dit voorbeeld is tri_recursion() een functie die we hebben gedefinieerd om zichzelf aan te roepen ("recurse"). We gebruiken de variabele k als de gegevens, die elke keer dat we terugkeren , met ( -1 ) wordt verlaagd. De recursie eindigt wanneer de voorwaarde niet groter is dan 0 (dwz wanneer deze 0 is).

Voor een nieuwe ontwikkelaar kan het enige tijd duren om uit te zoeken hoe dit precies werkt, de beste manier om erachter te komen is door het te testen en aan te passen.

Voorbeeld

Voorbeeld van recursie

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)

Test jezelf met oefeningen

Oefening:

Maak een functie met de naam my_function.

:
  print("Hello from a function")