I Python, funktioner tjene som et fundament for ethvert komplekst projekt. Denne praksis med prototyping funktioner eller at erklære dem før at definere dem , har eksisteret siden opfindelsen af C programmeringssproget. Ikke alle sprog opfører sig på samme måde . Mens sprog som C kræver typisk funktion prototyping, sprog som Python ikke. Faktisk har Python ingen reel mekanisme til støtte af prototyper. Dette skyldes den måde Python varetager funktioner . Funktioner
Funktioner er blokke af kode , der er givet et navn og hukommelse af compileren eller fortolker af programmet. Meget gerne en matematisk funktion , tage programmerings funktioner argumenter i form af variabler , hvorpå de udfører nogle opgaver og producere nogle resultat. Funktioner støtte programmører i skabt, én gang, kan programmøren fortsætte med at kalde det samme funktion gennem et program blot ved at bruge sit navn og leverer de relevante argumenter.
Fotos Funktion Prototyper
< p > i C programmeringssprog, kræver at definere funktioner i et program en bestemt rækkefølge . Efter " preprocessor " kommandoer , der omfatter eksterne biblioteker og definere makroer , skal programmøren erklære " prototype " for hver funktion, der anvendes i programmet, bortset fra "main "-funktionen . Prototypen fortæller C compiler til at afsætte hukommelse til en funktion, montering af definitionen af prototypen.
Forward Referencing
Siden C-programmer bruger prototyper som led i deres syntaks , er C- funktioner i et program ofte " frem referencing ", hvilket betyder , at funktioner, der anvendes i programmet ikke vil blive defineret før efter programkode. Væsentlige, frem refererer betyder at compileren vil tillade udførelsen af en opgave i den forståelse, at den funktion, vil blive defineret senere i programmet . Da C bruger prototyping er funktioner, der typisk ikke defineret før efter hovedprogrammet , hvilket betyder alle funktioner frem henvisninger .
Python og Fremad Referencing
Pythons tolk ikke tillader funktionen prototyping . Den " def " kommandoen i Python fungerer som en kommando til at oprette en funktion. Dette betyder , at funktionen er skabt på stedet . Tolken ikke acceptere, at en funktion "vil blive " er defineret i et senere tidspunkt . Det eneste, Python fortolkeren ser efter , er, når den funktion, vil blive brugt. For eksempel vil det første opkald til at fungere " foo" ikke virker, fordi " foo" er ikke blevet defineret . Den anden indkaldelse inde klasse A vil, fordi en genstand i klasse A , vil blive oprettet efter foo er erklæret : Hej
foo () //frem refererer
klasse A: def __ init__ (selv ) : foo ()
def foo (): print " Hej "
a = A () //ikke frem refererer