Funksjon Prototype i Python

I Python, funksjoner tjene som et grunnlag for noen komplekst prosjekt. Praksisen med prototyping funksjoner, eller erklære dem før du definerer dem, har eksistert siden oppfinnelsen av programmeringsspråket C. Ikke alle språk oppfører seg på samme måte. Mens språk som C vanligvis krever funksjon prototyping, språk som Python ikke. Faktisk har Python ingen reell mekanisme for å støtte prototyping. Dette er på grunn av måten Python håndterer funksjoner.

funksjoner

Funksjoner er blokker av kode som er gitt et navn og minneplass av kompilatoren eller tolk av programmet. Mye som en matematisk funksjon, programmeringsfunksjoner ta argumenter i form av variabler, hvorpå de utfører en oppgave, og produserer noen resultat. Funksjoner hjelpe programmerere i som en gang laget, kan programmereren fortsette å ringe det samme funksjon gjennom et program bare ved å bruke sitt navn og levere de riktige argumentene.

funksjons~~POS=TRUNC prototyper

I programmeringsspråket C, definerer funksjoner i et program krever en viss rekkefølge. Etter "preprosessor" kommandoer som inkluderer eksterne biblioteker og definere makroer, må programmereren erklære "prototype" av hver funksjon som brukes i programmet, med unntak av den "viktigste" -funksjonen. Prototypen forteller C kompilator for å sette til side minne for en funksjon montering av definisjonen av prototypen.

Forward Referencing

Siden C programmer bruke prototyper som en del av deres syntaks, C-funksjoner i et program er ofte "forover henvisning", som betyr at funksjoner som brukes i programmet ikke vil bli definert før etter at programkoden. I hovedsak betyr fremover referanser at kompilatoren vil tillate kjøring av en funksjon, i forståelsen at funksjonen vil bli definert senere i programmet. Siden C bruker prototyping, er funksjoner vanligvis ikke definert før etter hovedprogrammet, som betyr alle funksjoner er fremtids refererer til.

Python og Forward Referencing

Python tolk tillater ikke funksjonen prototyping. Den "def" kommandoen i Python fungerer som en kommando for å opprette en funksjon. Dette betyr at funksjonen er laget på stedet. Tolken godtar ikke at en funksjon "vil bli" definert i noen fremtid punkt. Det eneste som Python tolk ser for er når funksjonen skal brukes. For eksempel vil den første samtalen fungere "foo" vil ikke fungere, fordi "foo" ikke er definert. Den andre samtalen inne klasse A vil, fordi et objekt av klasse A vil bli opprettet ETTER foo er deklarert:

foo () // frem henviser

klasse A:
def init (egen-):
foo ()

def foo ():
print "Hei"

a = A () // ikke frem henviser