Principes de python

Python est un langage de programmation inventé en 1991 par Guido van Rossum. C'est comme une langue mais en beaucoup plus simple car :

Son but est de faire faire des choses à un ordinateur.

On ne peut cependant pas directement donner un texte écrit en python (qu'on appelle code ou programme) à un ordinateur pour qu'il l'exécute car celui-ci ne comprend que le langage machine, on passe par un intermédiaire, un programme nommé interpréteur python.

Interpréteur python

À retenir

L'interpréteur python comme intermédiaire entre le code python et son exécution.

Tout code python est exécuté via un interpréteur dont le but est de transformer le code python en code machine.

Ceci se fait toujours avec les 4 étapes suivantes :

  1. on donne une ligne de code à l'interpréteur
  2. l'interpréteur exécute cette ligne (il transforme la ligne en langue machine et la fait exécuter par l'ordinateur)
  3. une fois la ligne exécutée, l'interpréteur redonne la main à l'utilisateur
  4. retour à l'étape 1.

Tant que l'interpréteur est actif, un mécanisme de stockage permet de conserver des objets pour une utilisation future via des variables.

L'interpréteur python est toujours présent lorsque l'on exécute du code python.

Il y a plusieurs façon d'exécuter du code python, celle qui montre le plus explicitement l'interpréteur est l'exécution en mode console.

Allez sur le site https://basthon.fr/ et choisissez menu console > python.

Vous allez vous retrouver sur le site https://console.basthon.fr/

Vous devriez avoir quelque chose du genre :

console python

Intéressons nous pour l'instant à la partie de droite nommée la console :

Allons-y ! Exécutons notre premier programme :

A droite du prompt, écrivez le code print("Bonjour monde !") puis appuyez sur la touche entrée.

Vous devriez obtenir quelque chose du type :

hello world

Si vous n'obtenez pas ça, vous pouvez toujours recharger la page (menu afficher > actualiser cette page avec le navigateur chrome) pur recommencer avec un interpréteur vierge.

Le 4 étapes de l'exécution d'un code python de se sont effectuées :

  1. on donne une ligne de code à l'interpréteur :
    1. vous avez écrit une ligne de code dans la console
    2. en appuyant sur la touche entrée, celle-ci a transmis la ligne à l'interpréteur
  2. l'interpréteur à exécuté la ligne de code : elle affiche du texte à l'écran
  3. une fois le code exécuté, la console reprend la main (le prompt a réapparu)
  4. on peut recommencer en 1.

TBD ici on a exécuté une fonction (lien vers def). On y reviendra plus tard. Pour l'instant prenez ceci comme définition d'une fonction : nom(paramètre) en appuyant sur entrée la fonction est exécutée. et produit un résultat : Ici on affiche un texte à l'écran.

L'interpréteur ne n'arrête pas de fonctionner entre deux exécution de code. Vérifions le en commençant par créer une variable contenant ce que l'on veut afficher :

console python

On vient d'affecter une variable (nommée s) à un objet chaîne de caractères. COmme on a rien demandé d'afficher python se contente de revenir au prompt après avoir créé la variable. Affichons-là :

console python

Ceci prouve bien que l'interpréteur python n'a pas cessé de fonctionner puisque la variable s a pu être affichée.

Si vous rechargez la page, un nouvel interpréteur est crée et il ne connaît plus la variable s :

console python

Lorsque python crie du rouge en anglais c'est que quelque chose ne va pas ici : name 's' is not defined, la variable s n'est pas définie dans ce nouvel interpréteur.

Rechargez la page et vérifiez que la variable s n'existe plus.

Retenez donc le point essentiel :

À retenir

L'interpréteur python reste présent tout au long de l'exécution des instructions.

Éléments de langage

On va lister les concepts fondamentaux qui permettent d'utiliser l'interpréteur python. Ces concepts sont identiques pour tous (ou quasi tous) les langages de programmation objet.

Refaites toutes les instructions que l'on va voir dans un interpréteur.

À retenir

Dans tous les exemple de code qui suivront, lorsque la ligne de code commencera par >>> cela signifiera que l'on a exécuté ce code directement dans l'interpréteur, la ligne suivante montrera le résultat. Par exemple :

>>> 21 * 2
42

Commentaires

Commençons par ne pas écrire du python. Dans une ligne de code python, tout ce qui suit un # n'est pas lu.

Par exemple, le code suivant écrit dans une console ne produit pas d'erreur (il n'est même pas lu...) :

>>> # coucou python !

Alors que le même code sans # est interprété par python et comme ce n'est pas du python cela produit une erreur :

>>> coucou python !
  File "<stdin>", line 1
    coucou python !
           ^
SyntaxError: invalid syntax

Objets et types d'objets

Les objets de python correspondent à tout ce qui est manipulé : le but d'un programme python est de créer et de rendre des objets.

Python connaît 6 types d'objets de base qui permettent de faire la grande majorité des programmes.

À retenir

Tout objet de python possède un type.

Pour connaître le type d'un objet, on peut utiliser la fonction type. Par exemple :

>>> type(42)
<class 'int'>

Les entiers sont donc de type class 'int', ce que l'on traduit par : l'entier 42 est objet de la classe entier :

Dans le cadre de ce cours on considérera que type et classe sont deux synonymes.

Quelle est la classe de chaque type d'objet ?

Dans la console de https://console.basthon.fr/, donnez la classe de chaque objet de base/

solution

>>> type("2")
<class 'str'>
>>> type(2.0)
<class 'float'>
>>> type(2)
<class 'int'>
>>> type(2+0j)
<class 'complex'>
>>> type(True)
<class 'bool'>

Conversion de type

Le type d'un objet n'est pas modifiable : par exemple un entier (3) n'est pas un réel (3.0) et réciproquement. Il est en revanche possible de créer un nouvel objet du type choisi à partir d'un objet d'un autre type. Pr exemple pour créer un objet te type réel depuis un entier 3, on peut écrire : float(3). Ceci se généralise :

Créer un objet de type type_a à partir d'un objet b s'écrit :

type_a(b)

On ne peut bien sur pas faire n'importe quoi int("deux") ne crée pas un entier valant 2, mais beaucoup des choses sont possibles.

Réels, entiers et chaînes de caractères

On peut par exemple transformer un réel en entier :

Quel est le résultat de l'instruction suivante :

int(3.1415)

solution

>>> int(3.1415)
3

C'est un entier valant 3.

Ou en entier en réel :

Quel est le résultat de l'instruction suivante :

float(3)

solution

>>> float(3)
3.0

C'est un réel valant 3.0

On peut aussi transformer une chaîne de caractères en entier ou en réel. Par exemple :

float("3.1415")

Va rendre un objet réel valant 3.1415 à partir d'une chaîne de caractère avec le caractère "3.1415".

Une chaîne de caractère n'est pas un réel ou un entier.

La conversion de chaînes de caractères en entier ou en réels est très courante lorsque l'on récupère des entrées tapées par un utilisateur qui sont toujours des chaînes de caractères

Objets booléens

On effectue souvent ce genre d'opération de façon implicite pour les booléens. Ainsi, un entier est vrai s'il est non nul.

Vérifiez le.

solution

>>> bool(42)
True

Tous les objets peuvent être converti en booléen.

Quand-est qu'une chaîne de caractère est fausse ?

solution

Une chaîne de caractère est fausse si elle est vide et vraie sinon.

>>> bool("")
False
>>> bool("False")
True

On peut aussi faire le contraire :

Que vaut la conversion de booléens en entier ?

solution

Une chaîne de caractère est fausse si elle est vide et vraie sinon.

>>> int(True)
1
>>> int(False)
0

Variables

Une variable est un nom qui va représenter un objet :

À retenir

Une variable n'est pas un objet, ce n'est qu'un moyen d'y accéder.

Principe de l'affectation des variables en python.

Opérations sur les objets

Créer de nouveaux objets avec d'autres objets.

Fonctions et méthodes

Les fonctions et méthodes permettent d'utiliser les objets de python de façon pratique et puissante.

Modules

Les modules pythons sont des espaces de noms regroupant diverses fonctions pouvant être utilisées une fois chargé.