Revision sheet: Introduction aux fonctions en Python

Plan du Cours

  1. Définition et syntaxe Python
  2. ParamĂštres formels et effectifs
  3. Instruction return et valeurs
  4. Visibilité des variables
  5. Modification des listes en fonction
  6. Différence entre affichage et renvoi
  7. Utilisation de plusieurs return
  8. Commentaires et docstrings
  9. Variables paramĂštre et argument

1. Définition et syntaxe Python

Notions clés & Définitions

fonction | | Aucune dĂ©finition spĂ©cifique n’est fournie dans le contenu source, mais il s’agit d’un bloc de code permettant d’effectuer une tĂąche particuliĂšre, dĂ©fini par la syntaxe suivante.

mot-clĂ© def | | AUTEUR (date) : mot-clĂ© utilisĂ© pour indiquer la dĂ©claration d’une fonction en Python. Il signale le dĂ©but de la dĂ©finition d’une nouvelle fonction. La dĂ©claration commence toujours par ce mot-clĂ©, suivi du nom de la fonction et des paramĂštres formels.

paramĂštres formels | | Aucune dĂ©finition spĂ©cifique n’est fournie dans le contenu source, mais il s’agit des variables listĂ©es entre parenthĂšses dans l’en-tĂȘte de la fonction. Ces paramĂštres servent Ă  recevoir les valeurs lors de l’appel de la fonction.

Points essentiels

La dĂ©claration d’une fonction en Python commence obligatoirement par le mot-clĂ© def. AprĂšs ce mot, il faut indiquer le nom de la fonction, qui doit respecter les rĂšgles de nommage en Python, puis ouvrir une parenthĂšse. À l’intĂ©rieur de cette parenthĂšse, on place les paramĂštres formels de la fonction, qui peuvent ĂȘtre zĂ©ro ou plusieurs. Ces paramĂštres sont sĂ©parĂ©s par des virgules si plusieurs sont prĂ©sents. La dĂ©claration se termine par un deux-points (:), qui indique que le corps de la fonction va suivre. L’ensemble de cette ligne constitue l’en-tĂȘte de fonction. Le corps de la fonction doit ĂȘtre indentĂ© par rapport Ă  l’en-tĂȘte, c’est-Ă -dire dĂ©calĂ© vers la droite, gĂ©nĂ©ralement de quatre espaces ou d’une tabulation. La syntaxe prĂ©cise est la suivante :

  • La dĂ©claration commence par def.
  • Ensuite, vient le nom de la fonction, par exemple FunctionName.
  • Puis, entre parenthĂšses, on inscrit les paramĂštres formels (zĂ©ro ou plusieurs).
  • La ligne se termine par deux-points (:).
  • Le corps de la fonction, c’est-Ă -dire le code qui sera exĂ©cutĂ© lors de l’appel, doit ĂȘtre indentĂ©.

Il est important de noter qu’une fonction peut ne pas avoir de paramĂštres formels, dans ce cas, les parenthĂšses sont vides. La flexibilitĂ© dans le nombre de paramĂštres permet de crĂ©er des fonctions adaptĂ©es Ă  diffĂ©rents besoins.

À retenir

Comprendre la structure syntaxique fondamentale pour dĂ©finir une fonction en Python consiste Ă  connaĂźtre que la dĂ©claration dĂ©bute par le mot-clĂ© def, suivie du nom de la fonction et d’une liste de paramĂštres formels entre parenthĂšses, le tout terminĂ© par deux-points. Le corps de la fonction doit ĂȘtre indentĂ©, ce qui permet de dĂ©limiter clairement le bloc de code associĂ© Ă  cette fonction.

2. ParamĂštres formels et effectifs

Notions clés & Définitions

  • ParamĂštres formels : voir section 1

ParamĂštres effectifs : Ce sont les valeurs ou les expressions passĂ©es lors de l’appel d’une fonction. Ces valeurs sont assignĂ©es aux paramĂštres formels correspondants. La source indique que « les paramĂštres figurant entre parenthĂšses dans l’en-tĂȘte d’une fonction se nomment paramĂštres formels, par opposition aux paramĂštres fournis lors de l’appel de la fonction qui sont appelĂ©s paramĂštres effectifs » (source). Les paramĂštres effectifs peuvent ĂȘtre des constantes, des variables ou des expressions, et ils dĂ©terminent le comportement spĂ©cifique de la fonction lors de son exĂ©cution.

Appel de fonction : C’est l’action de dĂ©clencher l’exĂ©cution d’une fonction en utilisant son nom suivi de parenthĂšses contenant Ă©ventuellement des arguments (ou arguments effectifs). Lors de cet appel, les arguments fournis sont assignĂ©s aux paramĂštres formels de la fonction. La source prĂ©cise que « les arguments fournis lors de l’appel correspondent aux paramĂštres effectifs » (source), ce qui Ă©tablit une relation directe entre les valeurs passĂ©es et les variables dĂ©clarĂ©es dans la fonction.

Arguments : Ce sont les valeurs ou expressions placĂ©es entre parenthĂšses lors de l’appel d’une fonction. Ils correspondent aux paramĂštres effectifs et sont transmis Ă  la fonction pour qu’elle puisse effectuer ses opĂ©rations. La source indique que « les arguments fournis lors de l’appel correspondent aux paramĂštres effectifs » (source), soulignant leur rĂŽle dans la personnalisation du comportement de la fonction Ă  chaque appel.

Points essentiels

  • Les paramĂštres formels sont ceux dĂ©finis dans la dĂ©claration de la fonction, entre parenthĂšses dans l’en-tĂȘte. Ils servent de variables locales qui recevront des valeurs lors de l’appel de la fonction. Par exemple, dans la dĂ©claration def somme(a, b):, a et b sont des paramĂštres formels.

  • Les paramĂštres effectifs sont les valeurs ou expressions passĂ©es lors de l’appel de la fonction. Lorsqu’on Ă©crit somme(3, 5), les valeurs 3 et 5 sont des arguments, qui sont assignĂ©s respectivement aux paramĂštres formels a et b.

  • Les arguments fournis lors de l’appel de la fonction correspondent directement aux paramĂštres effectifs. La relation est telle que chaque argument est associĂ© Ă  un paramĂštre formel dans l’ordre de leur apparition, sauf si des techniques spĂ©cifiques comme les arguments nommĂ©s sont utilisĂ©es.

  • Il peut y avoir autant de paramĂštres formels que souhaitĂ©, y compris aucun. La syntaxe permet de dĂ©finir des fonctions sans paramĂštres (par exemple, def maFonction():), ou avec plusieurs paramĂštres selon les besoins.

  • Lorsqu’on Ă©crit une fonction, la premiĂšre ligne prĂ©cise la liste des paramĂštres formels. AprĂšs avoir saisi cette ligne, on appuie sur « EntrĂ©e » pour passer Ă  la ligne suivante, oĂč l’on Ă©crit le corps de la fonction. La fonction s’exĂ©cute en utilisant les arguments passĂ©s lors de son appel, qui sont assignĂ©s aux paramĂštres effectifs.

  • DĂšs que l’instruction return something est atteinte dans la fonction, celle-ci renvoie l’objet something et cesse immĂ©diatement son exĂ©cution. Les lignes de code qui suivent cette instruction ne seront pas exĂ©cutĂ©es, ce qui est souvent dĂ©signĂ© comme du « code mort ».

À retenir

Les paramĂštres formels sont dĂ©finis dans la dĂ©claration de la fonction et servent de variables locales, tandis que les paramĂštres effectifs sont les valeurs passĂ©es lors de l’appel de la fonction, lesquelles sont assignĂ©es aux paramĂštres formels. La distinction est essentielle pour comprendre comment une fonction reçoit et utilise les donnĂ©es lors de son exĂ©cution.

3. Instruction return et valeurs

Notions clés & Définitions

instruction return

  • AUTEUR : voir section 1

valeur renvoyée
AUTEUR (date) : La valeur renvoyĂ©e par une fonction est l’objet ou le rĂ©sultat que cette fonction transmet Ă  son appelant via l’instruction return. Elle peut ĂȘtre de n’importe quel type de donnĂ©e, comme un nombre, une chaĂźne de caractĂšres, une liste, ou un objet personnalisĂ©.

code mort
AUTEUR (date) : Le code mort dĂ©signe l’ensemble des lignes de code qui suivent une instruction return dans une fonction. Ce code n’est jamais exĂ©cutĂ©, car l’instruction return interrompt immĂ©diatement la fonction dĂšs qu’elle est rencontrĂ©e.

objet None
AUTEUR (date) : En l’absence d’instruction return dans une fonction, celle-ci renvoie par dĂ©faut l’objet spĂ©cial None. Cela indique qu’aucune valeur spĂ©cifique n’a Ă©tĂ© explicitement renvoyĂ©e, souvent utilisĂ© lorsque la fonction effectue une opĂ©ration sans produire de rĂ©sultat prĂ©cis.

Points essentiels

  • L’instruction return renvoie un objet et interrompt immĂ©diatement l’exĂ©cution de la fonction.
    Lorsqu’une fonction rencontre une instruction return, elle arrĂȘte toute exĂ©cution en cours et transmet l’objet spĂ©cifiĂ© Ă  l’appelant. Cela permet de sortir rapidement d’une fonction dĂšs que le rĂ©sultat souhaitĂ© est obtenu, Ă©vitant ainsi de poursuivre inutilement le traitement.

  • Le code aprĂšs return est considĂ©rĂ© comme code mort et n’est pas exĂ©cutĂ©.
    Tout ce qui se trouve aprĂšs une instruction return dans la mĂȘme fonction ne sera jamais exĂ©cutĂ©. Ce code est dit « mort » car il est inaccessible lors de l’exĂ©cution normale, ce qui peut avoir des implications pour la lisibilitĂ© et la maintenance du code.

  • Si return est absent, la fonction renvoie None par dĂ©faut.
    En l’absence d’une instruction return explicite, une fonction ne renverra pas de rĂ©sultat spĂ©cifique. Elle renverra alors l’objet spĂ©cial None, indiquant qu’aucune valeur n’a Ă©tĂ© explicitement dĂ©finie comme rĂ©sultat de la fonction.

À retenir

L’instruction return joue un rĂŽle crucial en permettant Ă  une fonction de fournir une sortie prĂ©cise et de contrĂŽler le flux d’exĂ©cution. Sa prĂ©sence ou absence influence directement la valeur renvoyĂ©e par la fonction, ce qui est essentiel pour la gestion des rĂ©sultats et l’efficacitĂ© du code.

4. Visibilité des variables

Notions clés & Définitions

Variable locale
Une variable locale est une variable dĂ©finie Ă  l’intĂ©rieur d’une fonction. Selon le contenu source, elle est créée lors de l’exĂ©cution de cette fonction et n’est visible que dans cette fonction. Elle n’est pas accessible depuis l’extĂ©rieur de la fonction, ce qui signifie qu’elle ne peut pas ĂȘtre utilisĂ©e ou modifiĂ©e en dehors de son contexte d’origine. La variable locale est dĂ©truite Ă  la fin de l’exĂ©cution de la fonction, libĂ©rant ainsi la mĂ©moire qu’elle occupait.

Masquage de variable
Le masquage de variable se produit lorsqu’une variable locale portant le mĂȘme nom qu’une variable existante en dehors de la fonction (par exemple, une variable globale) est créée Ă  l’intĂ©rieur de cette fonction. Pendant l’exĂ©cution de la fonction, la variable locale masque temporairement la variable de mĂȘme nom, rendant cette derniĂšre inaccessible dans ce contexte prĂ©cis. Une fois la fonction terminĂ©e, la variable globale est Ă  nouveau visible et accessible.

Portée de variable
La portĂ©e d’une variable dĂ©signe l’étendue dans laquelle cette variable est accessible ou visible. Pour une variable locale, cette portĂ©e est limitĂ©e Ă  la fonction dans laquelle elle a Ă©tĂ© dĂ©finie. La portĂ©e dĂ©termine donc si une variable peut ĂȘtre utilisĂ©e ou non dans diffĂ©rentes parties du programme. La variable locale, créée lors de l’exĂ©cution, est accessible uniquement durant cette pĂ©riode et dans le contexte de la fonction.

Variable globale
Une variable globale est une variable dĂ©finie en dehors de toute fonction, accessible depuis n’importe quelle partie du programme, sauf si elle est masquĂ©e par une variable locale du mĂȘme nom. La variable globale existe tout au long de l’exĂ©cution du programme, ce qui lui confĂšre une durĂ©e de vie prolongĂ©e par rapport Ă  une variable locale.

Points essentiels

Les variables dĂ©finies dans une fonction sont locales et invisibles Ă  l’extĂ©rieur. Cela signifie que toute variable créée Ă  l’intĂ©rieur d’une fonction ne peut pas ĂȘtre utilisĂ©e ou modifiĂ©e depuis l’extĂ©rieur de cette fonction. La variable locale est créée au moment oĂč la fonction est appelĂ©e, lors de l’exĂ©cution du code, et elle n’existe que durant cette pĂ©riode. Elle est dĂ©truite automatiquement Ă  la fin de l’exĂ©cution de la fonction, ce qui libĂšre la mĂ©moire qu’elle occupait.

De plus, si une variable globale existe dĂ©jĂ  avant l’appel de la fonction, et qu’une variable locale portant le mĂȘme nom est créée Ă  l’intĂ©rieur de cette fonction, cette derniĂšre masque temporairement la variable globale. Pendant l’exĂ©cution de la fonction, toute rĂ©fĂ©rence Ă  cette variable avec ce nom correspond Ă  la variable locale, et non Ă  la variable globale. Une fois la fonction terminĂ©e, la variable globale redevient visible et accessible.

À retenir

La portĂ©e des variables dĂ©termine leur accessibilitĂ© et leur durĂ©e de vie. Les variables locales, créées lors de l’exĂ©cution d’une fonction, sont invisibles Ă  l’extĂ©rieur et sont dĂ©truites Ă  la fin de cette fonction, tandis que les variables globales sont accessibles partout et existent tout au long de l’exĂ©cution du programme. Le masquage de variable permet Ă  une variable locale de prendre temporairement le pas sur une variable globale du mĂȘme nom durant l’exĂ©cution de la fonction.

5. Modification des listes en fonction

Notions clés & Définitions

Objet mutable
Un objet mutable est un objet dont le contenu peut ĂȘtre modifiĂ© aprĂšs sa crĂ©ation. Selon le contenu source, cette notion implique que si une liste (qui est un objet mutable) est modifiĂ©e, cette modification affecte directement la liste d’origine. La liste n’est pas copiĂ©e ou clonĂ©e, mais modifiĂ©e en place, ce qui signifie que toute rĂ©fĂ©rence Ă  cette liste pointera vers la version modifiĂ©e. La mutabilitĂ© est une propriĂ©tĂ© essentielle pour comprendre comment les modifications en place impactent les donnĂ©es lors des appels de fonction.

Modification en place
La modification en place dĂ©signe l’action de changer le contenu d’un objet mutable sans crĂ©er une nouvelle instance de cet objet. Lorsqu’une liste est modifiĂ©e en place, ses Ă©lĂ©ments sont modifiĂ©s, ajoutĂ©s ou supprimĂ©s directement dans la liste existante. La modification en place a pour consĂ©quence que toutes les rĂ©fĂ©rences Ă  cette liste voient la version modifiĂ©e, ce qui peut entraĂźner des effets secondaires si cette modification n’est pas intentionnelle.

Copie de liste
Une copie de liste consiste Ă  crĂ©er une nouvelle liste qui contient les mĂȘmes Ă©lĂ©ments que la liste originale, mais qui est indĂ©pendante de celle-ci. La copie permet d’éviter que les modifications effectuĂ©es sur la nouvelle liste n’affectent la liste initiale. Il existe diffĂ©rentes mĂ©thodes pour rĂ©aliser une copie, comme la mĂ©thode .copy() ou la syntaxe de slicing liste[:]. La copie est essentielle pour prĂ©server l’intĂ©gritĂ© de la liste initiale lors de modifications dans une fonction ou un traitement spĂ©cifique.

Points essentiels

  • Modifier une liste passĂ©e en paramĂštre dans une fonction modifie la liste originale. En effet, comme la liste est un objet mutable, toute modification effectuĂ©e en place dans la fonction affecte directement la liste d’origine. Par exemple, si une fonction ajoute ou supprime des Ă©lĂ©ments d’une liste reçue en paramĂštre, ces changements seront visibles aprĂšs l’appel de la fonction, car la liste n’a pas Ă©tĂ© copiĂ©e mais utilisĂ©e directement.

  • Pour Ă©viter que la liste originale ne soit modifiĂ©e lors de l’appel d’une fonction, il est nĂ©cessaire de travailler sur une copie de la liste. Cela consiste Ă  crĂ©er une nouvelle liste contenant les mĂȘmes Ă©lĂ©ments que l’original, puis Ă  effectuer les modifications sur cette copie. Ainsi, la liste initiale reste intacte, et les modifications n’ont d’impact que sur la copie. Par exemple, en utilisant liste.copy() ou liste[:], on peut rĂ©aliser cette copie.

  • Une fonction peut ne pas avoir d’instruction return si elle modifie un objet mutable en place. En effet, la modification de l’objet mutable se fait directement, sans nĂ©cessiter de renvoyer une nouvelle liste ou un nouvel objet. La fonction agit alors comme un procĂ©dĂ© qui modifie l’état de l’objet reçu en paramĂštre, ce qui peut suffire pour certains usages.

À retenir

ReconnaĂźtre l’impact des objets mutables sur les donnĂ©es lors des appels de fonction est crucial pour Ă©viter des effets secondaires indĂ©sirables. En travaillant sur une copie de la liste, on garantit que la liste initiale reste inchangĂ©e, permettant ainsi un contrĂŽle prĂ©cis des modifications et une meilleure gestion des donnĂ©es dans le programme.

6. Différence entre affichage et renvoi

Notions clés & Définitions

Affichage
L’affichage dĂ©signe l’action de prĂ©senter une valeur Ă  l’écran pour que l’utilisateur puisse la voir. La commande utilisĂ©e pour cela est print(). Selon le contenu source, print() affiche une valeur Ă  l’écran mais ne la renvoie pas, ce qui signifie qu’elle n’est pas disponible pour ĂȘtre utilisĂ©e dans d’autres parties du programme aprĂšs l’affichage. En d’autres termes, l’affichage est une opĂ©ration de prĂ©sentation visuelle et non de transmission de donnĂ©es pour un traitement ultĂ©rieur.

print()
print() est une fonction qui sert Ă  afficher une valeur ou un message Ă  l’écran. Elle ne modifie pas la valeur d’origine ni ne la stocke dans une variable ; elle se contente de la rendre visible pour l’utilisateur. La valeur affichĂ©e par print() n’est pas accessible dans le programme aprĂšs l’exĂ©cution de cette commande, sauf si elle a Ă©tĂ© prĂ©alablement stockĂ©e dans une variable ou une autre structure.

Renvoi de valeur
Le renvoi de valeur correspond Ă  la capacitĂ© d’une fonction Ă  transmettre une valeur Ă  l’extĂ©rieur de son propre contexte d’exĂ©cution. La valeur renvoyĂ©e peut ensuite ĂȘtre utilisĂ©e dans d’autres opĂ©rations ou calculs dans le programme. Contrairement Ă  print(), le renvoi de valeur ne concerne pas l’affichage mais la transmission d’une donnĂ©e, permettant ainsi une utilisation ultĂ©rieure dans le code.

Points essentiels

  • print() affiche une valeur Ă  l’écran mais ne la renvoie pas.
    Lorsqu’on utilise print(), la valeur est simplement montrĂ©e Ă  l’utilisateur, mais elle n’est pas stockĂ©e ou accessible pour d’autres opĂ©rations dans le programme. Par exemple, si on Ă©crit print(5 + 3), cela affichera « 8 » Ă  l’écran, mais ne permettra pas d’utiliser directement cette valeur dans une autre instruction.

  • Une fonction peut renvoyer une valeur sans l’afficher.
    Il est possible d’écrire une fonction qui calcule ou dĂ©termine une valeur et la renvoie Ă  l’appelant sans utiliser print(). Par exemple, une fonction def somme(a, b): return a + b renvoie la somme de deux nombres, mais ne l’affiche pas. La valeur peut alors ĂȘtre stockĂ©e dans une variable ou utilisĂ©e dans d’autres calculs.

  • La valeur renvoyĂ©e peut ĂȘtre utilisĂ©e ailleurs dans le programme.
    La capacitĂ© de renvoyer une valeur permet de faire suivre cette donnĂ©e Ă  d’autres parties du code. Par exemple, si une fonction renvoie un rĂ©sultat, celui-ci peut ĂȘtre affectĂ© Ă  une variable ou intĂ©grĂ© dans une expression plus complexe, ce qui n’est pas possible avec une simple commande d’affichage.

À retenir

Il est crucial de distinguer clairement entre montrer une valeur Ă  l’écran et la transmettre pour un usage ultĂ©rieur. L’affichage (print()) sert uniquement Ă  la prĂ©sentation visuelle, tandis que le renvoi de valeur permet de faire circuler des donnĂ©es dans le programme pour des traitements ou calculs ultĂ©rieurs.

7. Utilisation de plusieurs return

Notions clés & Définitions

  • Plusieurs instructions return : Il s'agit de plusieurs commandes return prĂ©sentes dans une mĂȘme fonction. Chaque instruction return peut potentiellement renvoyer une valeur diffĂ©rente selon la logique du programme. Leur prĂ©sence permet d'interrompre immĂ©diatement l'exĂ©cution de la fonction et de retourner un rĂ©sultat spĂ©cifique Ă  un moment donnĂ©.

  • ExĂ©cution unique de return : Lorsqu'une fonction contient plusieurs instructions return, seule la premiĂšre rencontrĂ©e lors de l'exĂ©cution sera effectivement exĂ©cutĂ©e. AprĂšs cette premiĂšre exĂ©cution, la fonction s’arrĂȘte, et aucune autre instruction return situĂ©e aprĂšs ne sera atteinte ou exĂ©cutĂ©e.

  • ArrĂȘt de fonction : Le fait qu’une instruction return provoque la fin immĂ©diate de l’exĂ©cution de la fonction. DĂšs qu’un return est rencontrĂ©, la fonction cesse toute opĂ©ration en cours et retourne la valeur spĂ©cifiĂ©e. Cela permet de contrĂŽler prĂ©cisĂ©ment le flux d’exĂ©cution et d’éviter l’exĂ©cution de code supplĂ©mentaire inutile.

Points essentiels

  • Une fonction peut contenir plusieurs instructions return : Il est possible d’insĂ©rer plusieurs commandes return dans une mĂȘme fonction, chacune pouvant ĂȘtre placĂ©e Ă  diffĂ©rents endroits selon la logique souhaitĂ©e. Par exemple, dans une fonction qui vĂ©rifie des conditions, on peut avoir un return pour chaque cas de figure.

  • Seule la premiĂšre instruction return rencontrĂ©e est exĂ©cutĂ©e : Lorsqu’une fonction s’exĂ©cute, elle lit le code dans l’ordre. Si plusieurs instructions return existent, seule celle qui apparaĂźt en premier dans le flux d’exĂ©cution sera effectivement exĂ©cutĂ©e. Les autres return situĂ©s aprĂšs ne seront jamais atteints dans cette exĂ©cution.

  • AprĂšs return, la fonction s’arrĂȘte immĂ©diatement : La prĂ©sence d’un return provoque la fin immĂ©diate de la fonction. Aucune instruction situĂ©e aprĂšs ce return ne sera exĂ©cutĂ©e, mĂȘme si elles sont dans la mĂȘme fonction. Cela permet de sortir rapidement d’une fonction dĂšs qu’une condition est remplie ou qu’un rĂ©sultat est obtenu.

À retenir

MaĂźtriser l’usage de plusieurs return permet de contrĂŽler prĂ©cisĂ©ment le flux d’exĂ©cution d’une fonction, en permettant des sorties anticipĂ©es selon diffĂ©rentes conditions. Seule la premiĂšre instruction return rencontrĂ©e est exĂ©cutĂ©e, ce qui garantit une exĂ©cution claire et prĂ©visible.

8. Commentaires et docstrings

Notions clés & Définitions

Commentaire

  • AUTEUR : voir section 1

Docstring
AUTEUR (date) : La docstring est une chaĂźne de caractĂšres entourĂ©e de triples guillemets (""" ou ''') placĂ©e immĂ©diatement aprĂšs l’en-tĂȘte d’une fonction, d’une classe ou d’un module. Elle sert Ă  dĂ©crire de maniĂšre claire et structurĂ©e ce que fait la fonction ou le module, ses paramĂštres, ses valeurs de retour, et Ă©ventuellement ses exceptions ou effets secondaires. La docstring facilite la documentation automatique et la comprĂ©hension du code.

Documentation de fonction
AUTEUR (date) : La documentation de fonction correspond Ă  l’ensemble des informations formelles et informatives qui dĂ©crivent la fonction. Elle inclut notamment la description de ce que la fonction rĂ©alise, ses paramĂštres, ses valeurs de retour, et toute autre information utile pour l’utilisateur ou le dĂ©veloppeur. Elle est gĂ©nĂ©ralement rĂ©digĂ©e sous forme de docstring, placĂ©e juste aprĂšs l’en-tĂȘte de la fonction.

Points essentiels

  • Les commentaires expliquent le code mais ne sont pas exĂ©cutĂ©s.
    Les commentaires sont des annotations dans le code qui ont pour but d’éclairer le lecteur sur la logique ou les choix effectuĂ©s par le programmeur. Ils ne sont pas pris en compte lors de l’exĂ©cution du programme, ce qui signifie qu’ils n’affectent pas le comportement ou le rĂ©sultat du code. Leur rĂŽle principal est d’amĂ©liorer la lisibilitĂ© et la maintenabilitĂ© du code, notamment lors de modifications ou de relectures ultĂ©rieures.

  • Une docstring est une chaĂźne de caractĂšres triple guillemets dĂ©crivant la fonction.
    La docstring doit ĂȘtre placĂ©e immĂ©diatement aprĂšs l’en-tĂȘte de la fonction, c’est-Ă -dire aprĂšs la ligne de dĂ©finition (par exemple, def ma_fonction():). Elle doit contenir une description claire et synthĂ©tique de ce que la fonction rĂ©alise, Ă©ventuellement accompagnĂ©e d’informations sur ses paramĂštres, ses valeurs de retour, et ses Ă©ventuelles exceptions levĂ©es. La forme triple guillemets permet d’écrire une chaĂźne multi-lignes, facilitant une description dĂ©taillĂ©e.

  • La docstring se place juste aprĂšs l’en-tĂȘte de la fonction.
    Il est essentiel de respecter cette position pour que la documentation soit reconnue et exploitĂ©e par des outils automatiques ou par d’autres dĂ©veloppeurs. La cohĂ©rence dans la rĂ©daction et la position des docstrings contribue Ă  une documentation claire et facilement accessible, ce qui facilite la comprĂ©hension et l’utilisation des fonctions dans un projet.

À retenir

Une documentation claire et structurĂ©e, notamment via des commentaires et des docstrings, est essentielle pour rendre le code comprĂ©hensible et facilement maintenable. La bonne pratique consiste Ă  commenter le code pour expliquer sa logique et Ă  utiliser des docstrings pour dĂ©crire prĂ©cisĂ©ment chaque fonction, ce qui facilite la comprĂ©hension et l’utilisation du code par tous les dĂ©veloppeurs.

9. Variables paramĂštre et argument

Notions clés & Définitions

ParamĂštre
Le paramĂštre est une variable dĂ©clarĂ©e dans la dĂ©finition d’une fonction. Il sert Ă  recevoir une valeur lors de l’appel de cette fonction, permettant ainsi de transmettre des donnĂ©es Ă  la fonction pour qu’elle puisse les utiliser dans son traitement. Selon le contenu source, lors de la dĂ©finition d’une fonction, les variables placĂ©es entre parenthĂšses dans l’entĂȘte de la fonction sont appelĂ©es paramĂštres. Par exemple, dans la dĂ©finition suivante :

def addition(a, b):
    return a + b

les variables a et b sont des paramĂštres. Ces paramĂštres agissent comme des variables locales Ă  la fonction, dont la valeur sera dĂ©terminĂ©e lors de l’appel.

Argument
L’argument correspond Ă  la valeur ou Ă  l’expression passĂ©e lors de l’appel d’une fonction, destinĂ©e Ă  ĂȘtre assignĂ©e Ă  un ou plusieurs paramĂštres. Lorsqu’on appelle une fonction, on Ă©crit entre parenthĂšses aprĂšs son nom des arguments qui seront transmis Ă  la fonction. Par exemple, dans l’appel :

addition(3, 5)

les valeurs 3 et 5 sont les arguments. Ces arguments peuvent ĂȘtre des valeurs littĂ©rales, des variables ou des expressions, et ils sont utilisĂ©s pour alimenter la fonction en donnĂ©es concrĂštes.

Appel de fonction
L’appel de fonction est l’instruction qui permet d’exĂ©cuter une fonction dĂ©finie prĂ©cĂ©demment. Lors de cet appel, on fournit des arguments correspondant aux paramĂštres attendus par la fonction. La correspondance entre chaque paramĂštre et son argument est essentielle pour que la fonction fonctionne correctement. Par exemple, dans l’appel addition(3, 5), la valeur 3 est assignĂ©e au paramĂštre a et la valeur 5 au paramĂštre b. La relation entre paramĂštres et arguments doit ĂȘtre respectĂ©e pour assurer le bon fonctionnement de la fonction.

Points essentiels

  • Les variables entre parenthĂšses lors de la dĂ©finition sont les paramĂštres. Ces paramĂštres jouent un rĂŽle de variables locales Ă  la fonction, permettant de recevoir des valeurs lors de l’appel. La dĂ©finition prĂ©cise des paramĂštres dans l’entĂȘte de la fonction est cruciale pour son fonctionnement, car elle indique quels types de donnĂ©es la fonction attend.

  • Les valeurs passĂ©es lors de l’appel sont les arguments. Ces arguments sont les donnĂ©es concrĂštes que l’on fournit Ă  la fonction pour qu’elle puisse effectuer ses opĂ©rations. La syntaxe de l’appel doit respecter l’ordre et le nombre de paramĂštres attendus par la fonction.

  • La correspondance paramĂštre-argument est essentielle au fonctionnement. Elle garantit que chaque paramĂštre reçoit la bonne valeur, ce qui est fondamental pour que la fonction produise le rĂ©sultat attendu. Une erreur dans cette correspondance peut entraĂźner des comportements inattendus ou des erreurs d’exĂ©cution.

À retenir

Le rĂŽle distinct des paramĂštres et arguments est fondamental : les paramĂštres dĂ©finissent ce que la fonction attend comme donnĂ©es d’entrĂ©e, tandis que les arguments sont les valeurs concrĂštes transmises lors de l’appel pour alimenter ces paramĂštres. La bonne correspondance entre eux est essentielle pour le bon fonctionnement de la fonction.

Tableaux de SynthĂšse

CritĂšreFonctionParamĂštres formelsParamĂštres effectifsAuteur / Source
DĂ©finitionBloc de code pour effectuer une tĂącheVariables dĂ©clarĂ©es dans la dĂ©clarationValeurs passĂ©es lors de l’appelSource
Syntaxedef nomFonction(param1, ...):Variables dans l’en-tĂȘteArguments lors de l’appelSource
RÎleEncapsuler un traitementReçoit des donnéesTransmet des données à la fonctionSource
Nombre de paramÚtresZéro ou plusieursCorrespond à la liste dans la déclarationCorrespond aux arguments fournisSource
CritÚreInstruction returnValeur renvoyéeCode mortAuteur / Source
FonctionInterrompt la fonction et renvoie un objetObjet ou résultat transmisLignes aprÚs return non exécutéesSource
Valeur par dĂ©fautNone si pas d’instruction returnObjet None si aucune valeur renvoyĂ©eCode aprĂšs return considĂ©rĂ© comme mortSource
UtilitéObtenir un résultat ou interrompre la fonctionRésultat calculé ou transmisN/ASource

PiÚges & Confusions Fréquentes

  1. Oublier que la dĂ©claration d’une fonction doit commencer par le mot-clĂ© def.
  2. Confondre paramĂštres formels (dĂ©finis dans la fonction) et paramĂštres effectifs (valeurs passĂ©es lors de l’appel).
  3. Ignorer que le corps de la fonction doit ĂȘtre indentĂ©, sinon erreur de syntaxe.
  4. Ne pas comprendre que l’instruction return interrompt immĂ©diatement la fonction.
  5. Oublier que tout code aprĂšs un return n’est jamais exĂ©cutĂ© (code mort).
  6. Confondre valeur renvoyĂ©e et affichage Ă  l’écran : return ne fait pas d’affichage.
  7. Ne pas maßtriser la différence entre affichage (print) et renvoi (return).

Checklist Examen

  • ConnaĂźtre la syntaxe correcte pour dĂ©finir une fonction en Python avec le mot-clĂ© def.
  • Savoir distinguer entre paramĂštres formels (dĂ©finis dans la dĂ©claration) et paramĂštres effectifs (passĂ©s lors de l’appel).
  • Comprendre le rĂŽle et le fonctionnement de l’instruction return dans une fonction.
  • Savoir que le code aprĂšs un return est considĂ©rĂ© comme code mort et ne sera jamais exĂ©cutĂ©.
  • Être capable d’écrire une fonction sans paramĂštres, avec plusieurs paramĂštres, ou avec un seul paramĂštre.
  • MaĂźtriser la diffĂ©rence entre affichage (utilisation de print) et renvoi (utilisation de return).
  • ConnaĂźtre la syntaxe pour Ă©crire des commentaires et des docstrings dans une fonction.
  • Savoir comment utiliser plusieurs instructions return dans une mĂȘme fonction.
  • Comprendre la diffĂ©rence entre variables paramĂštre (dans la dĂ©claration) et argument (valeur passĂ©e lors de l’appel).
  • ConnaĂźtre les notions clĂ©s : fonction, mot-clĂ© def, paramĂštres formels, paramĂštres effectifs, arguments, instruction return, code mort, objet None.
  • MaĂźtriser la syntaxe pour indiquer une fonction sans paramĂštres (parenthĂšses vides).
  • Savoir que l’absence d’return dans une fonction entraĂźne le renvoi implicite de None.

Test your knowledge

Test your knowledge on Introduction aux fonctions en Python with 9 multiple-choice questions with detailed corrections.

1. Quelle est la caractĂ©ristique principale qui distingue une docstring d’un commentaire dans une fonction Python ?

2. Qui a formulĂ© l’explication sur la visibilitĂ©, la portĂ©e et le masquage des variables dans ce contenu pĂ©dagogique ?

Take the quiz →

Review with flashcards

Memorize the key concepts of Introduction aux fonctions en Python with 18 interactive flashcards.

DĂ©finition d'une fonction — en Python ?

Bloc de code pour effectuer une tùche spécifique.

Mot-clĂ© pour dĂ©finir une fonction — en Python ?

def.

Paramùtres formels — rîle ?

Variables dans la déclaration pour recevoir des valeurs.

See flashcards →

Similar courses

Create your own revision sheets

Import your course and AI generates sheets, quizzes and flashcards in 30 seconds.

Sheet generator