Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> python Programming >> Content
Python recursieve functies
recursieve functies zijn functies die zich in hun definitie noemen . Omdat een recursieve functie roept zichzelf om zijn taak uit te voeren , kan het werk dat identiek werk op meerdere data objecten makkelijker bevatten te conceptualiseren , plannen en schrijven te maken . Echter , kunnen recursie worden systeem - intensieve of belanden overbelasting van het systeem als de recursie niet stopt . Schrijven recursieve functies in Python is vergelijkbaar met recursieve functies in andere programmeertalen , met dezelfde voordelen en valkuilen . Monster Recursion

recursieve functies
noemen zichzelf als onderdeel van hun definitie . Bijvoorbeeld :

>>> def factor
( x ) :

. . . factor ( x ) op

Deze functie zal zich blijven bellen totdat het systeem niet meer kan houden van de hoeveelheid functie roept gemaakt ( functie gesprekken bevinden zich in het geheugen als alle andere gegevens ) . Echter, dit vereenvoudigt hoe een recursieve functies werkt conceptueel : Een functie ( factor ) noemt zichzelf ( factor ( x ) ) als onderdeel van de definitie
Base Gevallen

. Een recursieve functie moet hebben wat zou kunnen " base gevallen , " of voorwaarden die de functie vertellen om haar recursie stoppen worden genoemd . Dit kan een aandoening die de functie zou hebben voldaan als onderdeel van de operatie . Als een klassiek voorbeeld van de faculteit-functie vindt de faculteit van een getal n ( n! , of n * n- 1 * n - 2 ... 0 ) . Zodat de faculteit van 3 zou berekenen op 3 * 2 * 1 = 6 . Een programmeur zou het getal 0 als het basisscenario van deze functie te gebruiken :

>>>
als x == 0 :

. . . terugkeren 1
Recursion

Als de faculteit-functie heeft nu een base case ( x == 0 ) , dan is recursie stopt bij deze aandoening .

>>>
Anders : :

zo , zou het slechts een kwestie van het gebruik van recursie aan de faculteit bewerking uit te voeren zijn. . . return x * factor ( x - 1 ) op Twitter

Als x niet gelijk 0 , dan is de recursie zal beginnen /doorgaan . De return zal " factor " bellen en wachten . Elke nieuwe functie oproep zal hetzelfde doen , bellen en wachten tot de laatste functie oproep ( wanneer x == 0) geeft 1 . Dan zal elke eerdere oproep van de return statement ( vermenigvuldig de geretourneerde waarde van de " factor " door x )
Python Recursion

Recursion
in afmaken totdat de faculteit wordt geretourneerd . elke taal kan eindigen in een oneindige lus : dat is , een recursieve structuur die nooit eindigt totdat het systeem stopt het te wijten aan gebrek aan middelen . Python stopt deze " oneindige " recursie bij 1.000 oproepen ( dus een functie kan zelf bellen in een 1000 - instantie lange recursieve keten voordat Python stopt het proces ) . De programmeur kan deze waarde wijzigen via het systeem bibliotheken , zoals dit voorbeeld :

>>> import sys

>>> sys.setrecursionlimit
( 2000 ) op Twitter

echter, op dat moment programmeurs kunnen zich afvragen of recursie is de beste oplossing voor het probleem .

Previous: Next:
  python Programming
·Hoe te XLS -bestanden manipule…
·Hoe maak je Arrays Van een CSV…
·Hoe de kortste lengte van een …
·Hoe om te zien Fouten in Pytho…
·Hoe de Gemiddelde van Sommen i…
·Hoe de Array Grootte in Python…
·Hoe Verdeel in Python 
·Hoe om cijfers in Python 
·Hoe de lengte van een lijst in…
  Related Articles
Visual Basic String Functions 
Wiskundige functies in Visual Basic 
Visual Basic Math Functions Tutorial 
Wat zijn de functies van Visual Basic ? 
Lijst met functies in Visual Basic 
Visual Basic Controls & Functions 
VBS Array Functies 
Hoe te Argument functies in Visual Basic…
Lijst met functies in Visual Basic 6.0 
  Programmering Articles
·Hoe maak je een gids maken in Perl Met e…
·Hoe kan ik een Input File in Java Lees 
·Hoe vindt High Value in Recordset Visual…
·Een Java 3D API Tutorial 
·Hoe maak je een Jar File Met Build build…
·Hoe kan ik Sluit een Word-document met V…
·Hoe te Decimalen toe in C + + 
·Een uitleg van XBlite 
·Hoe maak je een werkblad in VBA Verwijzi…
Copyright © Computer Kennis http://www.nldit.com