Tutoriel python des jeux vidéo avec Pygam : FONCTIONNEMENT

×

Recommandés

Bienvenue dans ce tutoriel 4 python des jeux vidéo.

LES FONCTIONS


Nous tapons IDLE :

>>> max(1, 4, 7, 3)
7
>>> min(2, 5, -1)
-1

on remarque que IDLE colore les deux mots max et min en violet ; de plus, dès que l’on ouvre la première parenthèse, une info-bulle apparaît : pour l’instant on n’arrive pas à comprendre ce que ça veut dire donc ignorons-la.

Ce que nous avons fait? Avec la première ligne de code, nous avons demandé à Python de trouver le maximum des quatre nombres 1, 4, 7, 3 et Python a répondu que le maximum était 7 ; de même avec la troisième ligne nous avons trouvé le plus petit de trois nombres ; max et min sont deux fonctions.

Une fonction est un morceau de code qui vous permet d’effectuer des opérations sur les données (arguments) que nous fournissons. Pour appeler une fonction (en anglais : function call) on utilise la syntaxe suivante :

nom de la fonction (arg1, arg2, …)

Avant toute chose, rappelons que pour appeler une fonction il faut :

  • écrivez son nom (dans l’exemple max ou min 😉
  • ouvrez les parenthèses rondes ;
  • écrivez les arguments de la fonction, séparés par des virgules ;
  • fermez les parenthèses.


Nous pouvons laisser des espaces avant et après les parenthèses et les virgules ; la pratique courante, pour avoir une meilleure lisibilité, est de ne pas les laisser autour des parenthèses (ni avant ni après) et de laisser un espace après chaque virgule.

En mathématiques, vous serez probablement habitué à utiliser des fonctions du type y = f (x); dans les langages de programmation le concept de fonction est similaire à celui des mathématiques (une « machine » qui produit une valeur y basée sur une valeur de départ x) mais jouit de beaucoup plus de liberté. Voyons pourquoi :

  • Dans les langages de programmation, les fonctions peuvent avoir plus d’un argument : certaines (comme max et min) peuvent même avoir un nombre variable (dans l’exemple que nous avons fait nous avons mis 4 et 3, mais vous pouvez essayer d’en mettre autant que vous vouloir).
  • Les types de données des arguments peuvent être quelconques : nombres, chaînes, booléens… Généralement, cependant, une fonction nécessite d’être appelée avec certains types de données, sinon elle nous donnera une erreur.
  • Les fonctions renvoient généralement un résultat qui, encore une fois, n’a pas besoin d’être un nombre mais peut être de n’importe quel type. Cependant, il existe des fonctions qui ne renvoient aucune valeur (elles « font quelque chose » avec les arguments qu’on leur donne, mais sans obtenir de valeur de sortie) : nous en verrons un exemple dans la prochaine leçon.
  • Enfin, il existe aussi des fonctions sans arguments (elles « font toujours la même chose » à chaque fois qu’on les appelle). Pour les appeler, il est nécessaire d’écrire les parenthèses ouvrantes puis immédiatement fermées.

TUTORIEL PYTHON / JEUX VIDEO


Par exemple, le type () vu dans la dernière leçon est juste une fonction : il prend un argument (de n’importe quel type) et renvoie le type de l’argument en sortie.

>>> type(4.5)
<class 'float'>

Voyons un autre exemple : la fonction abs() prend un nombre en argument et renvoie sa valeur absolue :

>>> abs(10)
10
>>> abs (-4.543)
4.543
>>> abs("mamma")
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    abs("mamma")
TypeError: bad operand type for abs(): 'str'
>>> abs()
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    abs()
TypeError: abs() takes exactly one argument (0 given)

Examinons les deux erreurs que nous avons (délibérément !) obtenues : dans la première, nous avons demandé à Python de calculer la valeur absolue d’une chaîne : il a répondu par une TypeError : « mauvais type d’opérande » (c’est-à-dire que le type de l’argument est erroné : Python ne peut pas calculer la valeur absolue d’une chaîne). Dans la seconde nous avons appelé la fonction sans arguments : à nouveau nous avons une TypeError : Python nous explique que abs() prend exactement un argument et nous ne lui en avons pas donné.

Une autre fonction importante que nous utiliserons souvent plus tard est len() qui nous renvoie la longueur d’une chaîne :

>>> len("Peppe")
5
>>> len("Supercalifragilisticespiralidoso")
32
>>> len(2)
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    len(2)
TypeError: object of type 'int' has no len() 

Les arguments d’une fonction ne doivent pas nécessairement être constants, mais il peut s’agir de n’importe quelle expression. De plus, les fonctions peuvent être librement utilisées dans les expressions : Python appelle la fonction puis utilise la valeur qu’elle renvoie dans l’expression.

>>> abs(2 + 5 - 10)
3
>>> len("Mamma " + "mia")
9
>>> len("TA") + len("TATA")
6
>>> 3 * abs(-1)
3
>>> max(abs(-10), len("zio"), -2)
10

Combien y a-t-il de fonctions en Python ? La réponse est des milliers (par exemple, il y a toutes les fonctions mathématiques, de nombreuses fonctions supplémentaires pour les chaînes, etc.). Il est clair que pour utiliser une fonction sans se tromper il va falloir la « connaître », c’est-à-dire savoir :

Ce que fait la fonction


Combien d’arguments faut-il et de quel type.
Quelle valeur renvoie-t-il (éventuellement aucune)
Un programmeur expérimenté connaît beaucoup de fonctions du langage : c’est un peu comme connaître le vocabulaire d’un langage !

Recommandés

Exercices Corrigés sur le thème de l'étude...
Une étude de marché est une...
En savoir plus
Gamme de Maintenance Préventive Climatisation : Modèle
La maintenance préventive climatisation est un...
En savoir plus
Gestion des sessions et des cookies :...
La gestion des sessions et des...
En savoir plus
Tutoriel: les basiques de Python de base...
Dans ce tutoriel python, nous supposons...
En savoir plus
Cours Dessin Industriel : TRAITEMENT THERMIQUE PRÉLIMINAIRE
Le traitement thermique preliminaire des minerais...
En savoir plus
EXCEL : COURS DE BASE -UTILISATION DU...
Dans ce cours, nous allons voir...
En savoir plus
AZ

Recent Posts

Classification des Documents : Organiser et Automatiser la Gestion Documentaire

Dans toute organisation moderne — entreprise, association, service administratif ou bureau de projet — la…

2 jours ago

Modèle de Bilan Actif Passif sur Excel : Concevoir un tableau comptable clair et automatisé

Dans la pratique comptable, le bilan constitue l’un des documents les plus fondamentaux pour comprendre…

2 jours ago

Fiche Méthode analyse linéaire + guide complet pour la réussir

L’analyse linéaire impressionne souvent plus qu’elle ne le devrait. Au moment d’aborder l’oral du bac…

3 jours ago

Analyse linéaire au bac français : méthode complète, exemples et conseils pour réussir l’oral

L’analyse linéaire occupe une place centrale à l’oral du bac français. C’est l’exercice qui permet…

3 jours ago

Créer une fiche de suivi en ligne : générateur personnalisable à imprimer

Créer une fiche de suivi claire et adaptée à son activité prend souvent plus de…

3 jours ago

Préparation physique football avec ballon : Fiche Word utile

Comment améliorer sa condition physique tout en travaillant la technique Quand on parle de préparation…

3 jours ago

This website uses cookies.