Python Introduction

De nombreux langages de programmation.

Il existe de nombreux langages de programmation ( Liste sur wikipédia (non exaustive) ). Par exemple :

Tous ses langages permettent de faire les mêmes choses, mais plus ou moins facilement, rapidement et avec plus ou moins de ressources. Il existe aussi différentes façons de programmer (on dit paradigmes) et des langages sont plus adaptés que d'autres à cette facon.

Terminons sur Python, langage créer par Guido van Rossum. Contrairement a des langages comme le C,C++,.. qui sont des langages compilés (pour rappel : le code doit être transformé en assemebleur avant d'être lancé), Python (comme Java, Javascript,..) est interprété : pour simplifier un peu l'idée Python à besoin d'un programme (appelé l'interpréteur) qui transforme à chaque utilisation les instructions Python en assembleur au moment de l'execution du script (et pas avant et une fois pour toute comme pour un compilateur). L’avantage est d'avoir du code portable (qui va marcher sur de nombreux systèmes) du moment que l'interpréteur est installé sur une machine votre script va marcher. Python est un langage de haut niveau et permet de faire très rapidement des petits programmes. Le Python est imposé par le programme.

Edupython ou Spyder.

Affectation

En Python on peut stocker des valeurs dans des variables, le signe d'affection en Python (comme dans de nombreux langages) est =. Il faut bien comprendre la différence entre le = mathématique et le = en programmation, par exemple a = 2*a + 1 en mathématiques veut dire que a vaut -1 alors qu'en informatique l'instruction à un sens que si la variable a une valeur au départ (par exemple 2 mais tous les autres nombres sont possibles), Python évalue la partie de droite (2*a + 1) qui donne donc 5, ensuite le résultat est stocké dans la variable a. Au début la variable a contient 2 et à la fin 5.

Exemple.

Mathématiquement x ∈ [1;2] signifie que x est un nombre fixe entre 1 et 2 (il peut valoir la valeur que vous voulez). il ne peut pas changer en cours de raisonnement. C'est donc différent du sens informatique d'une variable. Cependant il existe des langages (langages fonctionnelles très à la mode de nos jours) où une "variable" ne peut pas être modifié. L'avantage de la programmation fonctionnelle est une maintenance simplifiée.

Les variables ont un type, le type détermine la place mémoire réservée dans la mémoire de l'ordinateur ainsi que les opérations autorisées sur les variables. En Python le typage est dynamique et souvent on ne s'en soucie pas (parfois à tord), dans certains langages (C, C++, Java ...) le codeur doit préciser explicitement le type de la variable qu'il utilise. Enfin certain langage font une utilisation très rigoureuse du type (en Ocaml 2 + 1.5 entraine une erreur par exemple).

Exemple.

		
  1. Affectation simple, la variable a contient 1.
  2. Entrer une chaîne de caractère (= du texte), en python on peut utiliser " ou '.
  3. On peut entrer plusieurs valeurs sur une ligne, c vaut 4 et d vaut 4.5. Cette façon de faire est très pratique pour échanger la valeur de deux variables (a,b=b,a)
  4. e est un booléen.
Exercices.

Copier les lignes précédentes dans la console et utiliser la fonction type() pour connaître le type des variables précédentes.

Remarque.

Donner des noms parlant à vos variables, si vous stockez des pommes alors utilisez une variable nb_de_pommes par exemple et pas a. De même utilisez des conventions d'écriture. Par exemple, sur le site, les variables en majuscule (PRIX_POMMES) sont des constantes donc des variables qui n'ont pas pour but de changer (sauf que malheureusement si le codeur veut la changer il peut).

Il y a des mots réservés dans le langage, il ne faut les utiliser pour donner des noms !

Falsebreakelseifnonlocal
returnNoneclassexceptimport
nottryTruecontinuefinally
inorwhileanddef
forispassyieldas
delfromlambdaraiseassert
elifglobal

De plus le nom des fonctions print,... sont aussi à éviter.

Opérateur de base.

Les opérateurs de bases sont :

Exercices.

Les opérateurs précédents sont naturels sur des nombres, si a = "bonjour" et b =" le monde", essayer ce que donne a+b, 2*a et a + 2.

Q.C.M.

Que vaut 7%3 :





Q.C.M.

Que vaut 2*3**2+1





Q.C.M.

Que vaut 5//2*2:





Q.C.M.

Que vaut 2+3**(4%3)





Print.

Si vous lancez une instruction à partir de la console (par exemple 1+2) vous avez le résultat qui s'affiche (3), cependant si vous tappez l'instruction dans l'éditeur et interprétez ensuite le résultat rien n'est affiché. Pour combler à ca il existe l'instruction print qui va afficher ce qui est demandé sur la console.

Exemple.

		
  1. On affecte 1 à la variable a qui est de type int.
  2. On affecte 2.35 à la variable b qui est de type float.
  3. On affecte "bonjour" à la variable c qui est de type string.
  4. Fait l'opération de concaténation de deux chaînes "bonjour" et " a tous " et affiche le résultat.
  5. Vous pouvez mélanger du texte et des variables de cette façon.
  6. Même résultat que la ligne précédente, ici on convertit les nombres en chaîne de caractère (En C on dit un cast), remarquez que je dois ajouter des espaces.
  7. "\n" permet d'aller à la ligne.
Exemple.

print offre de nombreuses possibilité de mise en forme des nombres, allez sur internet pour en savoir plus.

Input.

L'instruction input permet de demander une valeur avec l'utilisateur, le résultat est toujours une chaîne de caracères et il faut convertir le résultat dans le type de son choix après.

Exemple.

		
  1. a est une chaîne de caractère.
  2. b est un entier.
  3. c est un flotant.
Exercices.
  1. Ecrire un script qui va demander un prenom, puis afficher "bonjour prenom" à l'écran. Si prenom = "Alain" il faut afficher "bonjour Alain".
  2. Ecrire un script qui va demander le nombre de croissants achetés, puis afficher le prix à payer. (Un croissant coute 1.2 €).
  3. Ecrire un script qui va demander le volume de carburant acheté, puis afficher le prix à payer. (Un litre coutant 1.€).
  4. Ecrire un script qui va demander un mot et un nombre n puis qui va afficher n fois de suite le mot.
  5. Ecrire un script qui va demander un nombre et afficher n fois de suite le nombres, par exemple si vous donnez 12 il doit afficher 121212121212121212121212 (12 fois le 12).
Q.C.M.

Que va être afficher par le script suivant après 4 comme entrée :


			



Q.C.M.

Que va être afficher par le script suivant après 4 comme entrée :


			



Q.C.M.

Que va être afficher par le script suivant après 4 comme entrée :


			



Q.C.M.

Que va être afficher par le script suivant après 4 comme entrée :