Python arrive chez Coding Park !

Nous l’attendions avec impatience ! Il est désormais possible d’utiliser le langage de programmation Python sur la plateforme Coding Park. En effet, nous avons intégré un nouvel éditeur qui permettra aux enfants d’écrire les algorithmes de déplacement de Cody en Python.

This image has an empty alt attribute; its file name is python-editor-1024x711.png

Pourquoi Python ?

Python est actuellement l’un des langages informatiques les plus populaires. Il a l’avantage d’être concis, cela signifie que vous n’avez pas besoin d’écrire beaucoup de code pour créer des programmes exécutant des tâches complexes. De nombreuses grandes entreprises telles que Google, la NASA ou Amazon, l’utilisent pour développer leurs programmes. De plus, il peut également être utilisé pour gérer des ordinateurs de poche, tels que le Rspberry Pi.

Aujourd’hui, Python a le vent en poupe et ce pour une bonne raison : c’est le langage de prédilection des « data scientists » qui l’utilisent pour développer des applications d’Intelligence Artificielle. En général, ces applications traitent des problématiques d’apprentissage automatique, d’apprentissage profond (deep learning), de calcul scientifique, et d’analyse de données.

Par ailleurs, il existe un grand nombre de librairies et d’outils autour du langage Python qui aident à résoudre des problématiques spécifiques comme – juste pour en citer quelques uns :

  • TensorFlow, une bibliothèque dédiée à l’apprentissage profond conçue pour le calcul numérique par le biais de graphes de flux de données
  • Pandas, une bibliothèque open source écrite en Python permettant la manipulation et l’analyse des données
  • Django, un framework de développement d’applications web open source, très en vogue ces derniers temps

Terminons sur une anecdote concernant Python; bien que le logo soit un serpent, le nom Python est en réalité un hommage à un célèbre groupe de comédiens britanniques, les Monty Python.

Quelles sont les différences entre le pseudo-code et Python ?

Si votre enfant a déjà joué avec notre éditeur de pseudo-code Play, il devrait lui être assez facile de basculer sur Python. Voici quelques notions de base à connaître.

L’indentation

La plupart des langages de programmation comme C, C++ et Java utilisent des accolades { } pour définir un bloc de code. Python, lui, utilise l’indentation. Un bloc de code (corps d’une fonction, boucle, etc.) commence par une indentation et se termine par la première ligne non indentée. La quantité d’indentation dépend du programmeur, mais elle doit être cohérente tout au long de ce bloc.

Il s’agit là d’une notion très importante à connaître pour toute personne souhaitant débuter l’apprentissage de Python : l’utilisation de la touche de tabulation (TAB) est indispensable car elle permet de délimiter précisément les frontières des blocs de code. Vous avez aussi la possibilité de simuler une tabulation avec 4 espaces vides.

Voici un exemple:

This image has an empty alt attribute; its file name is python-indentation-1.png

Ici, vous pouvez voir en bleu les espaces vides introduits par l’indentation.

Dans l’exemple ci-dessus, l’action de droite et la boucle for sont incluses dans la définition de la fonction, nous augmentons donc l’indentation. Ensuite, la fonction de saut jump est à l’intérieur de la boucle for, par conséquent, l’indentation est augmentée une fois de plus.

Commentaires

Les commentaires sont très importants lors de l’écriture d’un programme. Ils décrivent ce qui se passe à l’intérieur du code, afin qu’une personne lisant le code n’ait pas de mal à le comprendre. L’interpréteur Python ignore les commentaires.

Voici un exemple de commentaire sur une seule ligne, il commence par le symbole dièse #.

Nous pouvons aussi avoir des commentaires qui s’étendent sur plusieurs lignes, ils sont délimités par des triples guillemets.

Variables

En langage Python, il n’y a pas de mot-clé pour déclarer une variable. Il suffit d’écrire le nom de la variable pour la déclarer. Vous pouvez également affecter immédiatement une valeur à une variable au moment de la déclaration.

Python est un langage de type inféré, vous n’avez donc pas besoin de définir explicitement le type de variable. Dans l’exemple ci-dessus, il sait automatiquement que 1 est un nombre et déclare la variable y comme un nombre.

Remarque : bien qu’en Python, les variables peuvent être de n’importe quel type (nombre, chaîne, booléen, littéraux, listes, tuples, etc.), nous réduisons le domaine de définition aux entiers uniquement car notre moteur de jeu ne comprend que les nombres pour le moment.

Fonctions

En langage Python, une fonction est une séquence d’instructions exécutant une tâche spécifique. Si vous avez déjà utilisé l’éditeur de pseudo-code Play, vous savez déjà définir des fonctions à l’aide du mot-clé procedure.

Les fonctions aident à diviser un programme en plus petits morceaux. À mesure qu’un programme grandit, le découpage en fonctions le rend lisible et facile à comprendre. Comme dans Play, une fonction a un nom et une liste de paramètres (ou arguments).

Ci-dessous, vous pouvez voir un exemple d’une fonction Python appelée snake avec un paramètre d’entrée x. Remarquez le mot-clé def précédant le nom de la fonction et le paramètre x qui est utilisé à l’intérieur comme paramètre d’entrée de la fonction jump.

Pour conclure, une définition de fonction a les caractéristiques suivantes :

  1. Le mot-clé def marquant le début de la définition de fonction
  2. Un nom pour identifier la fonction d’une manière unique
  3. Des paramètres facultatifs à travers lesquels nous passons des valeurs à la fonction
  4. Un deux-points : pour marquer le début du corps de la fonction
  5. Une chaîne de chaîne de caractères facultative pour décrire la fonction (documentation)
  6. Au moins une instruction valide qui constitue le corps de la fonction
  7. Une instruction return facultative pour renvoyer la valeur de retour de la fonction

Remarque : alors que dans l’éditeur de pseudo-code Play, la fonction principale (le point d’entrée du programme) s’appelle Cody, nous l’avons changée en main.

Voici un exemple d’une fonction main qui appelle la fonction snake plusieurs fois avec différentes valeurs de x.

Vous pouvez remarquer les différentes couleurs de syntaxe entre la fonction snake définie par l’utilisateur en noir, et la fonction d’action de Cody dig en bleu.

Pour pouvoir utiliser les fonctions d’action de Cody dans le programme, nous devons importer la bibliothèque dans laquelle ces fonctions sont définies. Par conséquent, tous les programmes de Cody commencent par l’instruction d’import suivante, qui veut dire : nous voulons utiliser toutes (*) les fonctions (left, right, jump, …) de la bibliothèque actions par défaut.

Notre post d’introduction du nouvel éditeur Python s’achève ici, nous reviendrons plus tard avec plus de détails sur le sujet.

L’éditeur est d’ores et déjà disponible en version bêta !

Nous menons actuellement une campagne de tests pour le valider entièrement, si vous souhaitez l’utiliser avec vos élèves sur l’intégralité du catalogue de leçons, n’hésitez pas à contacter l’équipe support.