In Python , functies dienen als basis voor een complex project . De praktijk van prototyping functies , of ze te declareren voordat ze te definiëren , is al sinds de uitvinding van de C -programmeertaal . Niet alle talen op dezelfde manier gedragen . Terwijl talen zoals C vergen doorgaans functie prototyping , talen zoals Python niet doen . In feite , Python geen echte mechanisme prototyping ondersteunen . Dit komt door de manier waarop Python verwerkt functioneert . Functies Functies zijn blokken code die worden gegeven een naam en geheugenruimte door de compiler of interpreter van het programma . Net als een wiskundige functie , programmeerfuncties nemen argumenten in de vorm van variabelen , waarop ze enige taak en produceren een aantal resultaten . Functies hulp programmeurs in die ooit gemaakt , kan de programmeur blijven diezelfde functie in een programma noemen gewoon met behulp van de naam en het leveren van de juiste argumenten . Functie Prototypes in de C -programmeertaal , het definiëren van functies in een programma vereist een bepaalde volgorde . Na de " preprocessor " commando's die externe bibliotheken zijn en definieer macro's , moet de programmeur verklaren de " prototype " van elke functie in het programma , met uitzondering van de "main " functie . Het prototype vertelt de C compiler om geheugen voor een functie passend bij de definitie van het prototype gereserveerd . Forward Verwijzen Omdat C -programma's gebruiken prototypes als onderdeel van hun syntax , C -functies in een programma zijn vaak " forward verwijzen ", wat betekent dat de functies die gebruikt worden in het programma niet zal worden bepaald tot na de programmacode . Wezen , voorwaartse verwijzingen betekent dat de compiler de uitvoering van een functie , met dien verstande dat de functie later in het programma zullen worden vastgesteld zal toestaan . Omdat C maakt gebruik van prototyping , zijn functies meestal niet bepaald tot na het hoofdprogramma , wat betekent dat alle functies naar voren verwijzingen . Python en Forward Verwijzen Python's tolk niet mogelijk functie prototyping . De "def " commando in Python functioneert als een opdracht om een functie te creëren . Dit betekent dat de functie gemaakt ter plaatse . De tolk niet accepteren dat een functie "zal worden " in de zin van ergens in de toekomst . Het enige dat de Python interpreter zoekt is wanneer de functie wordt gebruikt . Zo zal de eerste oproep om " foo " functie niet werken , omdat " foo " niet is gedefinieerd . De tweede oproep binnen klasse A zal , omdat een voorwerp van klasse A zal worden gemaakt na foo wordt verklaard : foo ( ) op Twitter //forward verwijzingen klasse A : def __ init__ (zelf ) : foo ( ) def foo ( ) : print " Hallo " a = a ( ) //niet vooruit verwijzingen
|