At My Fingertips
Rapid Playground
Dans cette activité, vous apprenez à définir vos propres fonctions.
Supposez que vous avez un ami qui ne voit pas la figure ci-dessous:
Laquelle des descriptions suivantes est la meilleure?
Il semble qu'il soit circulaire, alors appelons-le cercle.
Un cercle est une sorte d'ellipse particulière. Une ellipse dont la largeur et la hauteur sont identiques. Vous avez peut-être déjà créé un cercle dans PyTamaro. Utilisez la fonction ellipse pour créer un cercle rouge de diamètre 100:
Cliquez sur le bouton "RUN" pour vérifier. Cela ressemble-t-il à un cercle ?
Il n'était pas particulièrement pratique de créer un cercle en appelant la fonction ellipse
.
Écrire le mot "ellipse" dans notre code, alors qu'il s'agit en fait d'un cas spécial de cercle,
n'est pas très intuitif.
Et devoir fournir le diamètre deux fois, une fois pour spécifier la largeur, et une fois pour spécifier la hauteur,
c'est ennuyeux!
Ne serait-ce pas bien s'il existait une fonction spécifique pour créer un cercle?
Nommée de manière appropriée cercle
,
qui ne nécessite qu'un seul diamètre comme paramètre?
Ha! Chaque fois que vous pensez "ne serait-ce pas bien s'il existait une fonction spécifique pour...", vous devriez vous sentir heureux! Pourquoi? Parce que vous pouvez réaliser ce souhait! Comment? Python nous permet de définir nos propres fonctions!
Les deux lignes commençant par def
et return
dans la cellule de code suivante montrent comment définir une fonction.
Dans la ligne qui suit, remplacez ...
par un appel à la fonction cercle
que vous venez de définir,
pour créer un cercle bleu de diamètre 100.
Le mot-clé def
indique que ce qui suit est la définition d'une fonction.
Juste après ce mot, vous spécifiez le nom de la fonction
(nous avons appelé notre fonction cercle
).
Ensuite, vous fournissez les paramètres, entre parenthèses
(notre fonction cercle
a deux paramètres: diametre
et couleur
).
La ligne se termine par deux points.
Sous cette ligne, vous écrivez le corps de la fonction.
Le corps se compose d'une ou plusieurs lignes,
chaque ligne contenant une instruction.
Dans notre exemple, le corps consiste en une seule ligne, une instruction return
.
Où se termine le corps?
Bonne question!
Voyez-vous que le corps est légèrement indenté?
De quatre caractères d'espacement.
En Python, l'indentation est importante. Beaucoup!
Le corps de la fonction continue tant que l'indentation demeure.
Lorsqu'une ligne n'est plus indentée, elle ne fait plus partie du corps de la fonction.
Dans la cellule de code ci-dessus,
la ligne cercle_bleu = cercle(100, bleu)
ne fait plus partie du corps de la fonction.
Que fait le corps?
Chaque fois que la fonction est appelée, le corps est exécuté.
Le corps de la fonction cercle
appellera ellipse
, pour produire un graphique de cercle,
puis il renverra le graphique du cercle.
Notre cellule de code fait donc quatre choses:
ellipse
, bleu
, et montre_graphique
cercle
, de sorte que chaque fois qu'elle sera appelée, elle créera une ellipse circulaire avec le diamètre et la couleur donnés.cercle
pour produire un graphique, et assigner ce graphique au nom cercle_bleu
cercle_bleu
.Dans la cellule de code suivante, créez et affichez un cercle vert d'un diamètre de 150, et affichez-le.
Importez d'abord la définition du nom vert
,
puis remplacez le ...
par l'appel cercle
approprié.
Créez et montrez maintenant un cercle noir de 80 de diamètre.
Cette fois, ne définissez pas de nom,
mais appelez simplement la fonction cercle
à l'endroit où se trouve le ...
.
Vous vous avez exercé à créer des cercles, mais plus important encore, vous avez rencontré pour la première fois une idée très importante en programmation:
def
)Définir une fonction est une forme d'abstraction:
vous pouvez donner un nom à un code (au "corps" de la fonction),
et vous pouvez ensuite utiliser ce nom (pour "appeler" la fonction)
partout où vous avez besoin d'exécuter ce code.
Les fonctions peuvent avoir des paramètres (comme diametre
).
Vous pouvez appeler la même fonction plusieurs fois, en passant des valeurs différentes à ses paramètres.
Au fil du temps, vous définirez de très nombreuses fonctions. Définir de nouvelles fonctions deviendra l'une de vos activités les plus courantes en tant que programmeur!
This activity has been created by LuCE Research Lab and is licensed under CC BY-SA 4.0.
Cercles
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version b957a28 (Fri, 06 Sep 2024 08:10:08 GMT)