I Python , funksjoner tjene som et grunnlag for noen omfattende prosjekt. Praksisen med prototyping funksjoner , eller erklære dem før du definerer dem , har eksistert siden oppfinnelsen av C programmeringsspråk. 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 , programmering funksjoner tar argumenter i form av variabler , hvorpå de utfører en oppgave og produsere noen resultat . Funksjoner hjelpearbeidere programmerere i at når opprettet, kan programmereren fortsette å kalle det samme funksjon gjennom et program bare ved å bruke sitt navn og levere de riktige argumentene .
Bilder Funksjon Prototyper
< p > i programmeringsspråket C , definere funksjoner i et program krever en bestemt rekkefølge . Etter " preprosessor " kommandoer som inkluderer eksterne biblioteker og definere makroer , må programmereren erklære " prototype " for hver funksjon brukes i programmet , med unntak av "main "-funksjonen . Prototypen forteller C-kompilator for å sette minne for en funksjon montering av definisjonen av prototypen .
Forward Referere
Siden C-programmer bruker prototyper som en del av syntaks sin , C-funksjoner i et program er ofte "fremover refererer ", som betyr at funksjoner som brukes i programmet ikke vil bli definert før etter programkode. I hovedsak betyr fremover refererer at kompilatoren vil tillate kjøring av en funksjon , i forståelsen at funksjonen vil bli definert senere i programmet . Siden C bruker prototyping , blir funksjonene vanligvis ikke definert før etter hovedprogrammet , som betyr alle funksjoner frem refererer til.
Python og Forward Referere
Pythons tolk tillater ikke funksjon 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 fremtidig tidspunkt . Det eneste som Python tolk ser etter er når funksjonen skal brukes . For eksempel vil den første samtalen å fungere "foo " ikke fungerer , fordi " foo" ikke er definert. Den andre samtalen inne klasse A vil, fordi et objekt av klasse A vil bli opprettet ETTER foo er erklært : en
foo () //forover refererer
klasse A: def __ init__ (egen ) : foo ( )
def foo ( ) : print " Hei"
a = A ( ) //ikke frem refererer