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 :
- il n'y a pas d'exception
- il y a très peu de vocabulaire de base
- il est structuré en lignes et non en phrase
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 :
- on donne une ligne de code à l'interpréteur
- l'interpréteur exécute cette ligne (il transforme la ligne en langue machine et la fait exécuter par l'ordinateur)
- une fois la ligne exécutée, l'interpréteur redonne la main à l'utilisateur
- 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 :

Intéressons nous pour l'instant à la partie de droite nommée la console :
- l'interpréteur python utilisé est 3.12.1
- le prompt (les
>>>) indique que l'on peut écrire une ligne de code
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 :

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 :
- on donne une ligne de code à l'interpréteur :
- vous avez écrit une ligne de code dans la console
- en appuyant sur la touche entrée, celle-ci a transmis la ligne à l'interpréteur
- l'interpréteur à exécuté la ligne de code : elle affiche du texte à l'écran
- une fois le code exécuté, la console reprend la main (le prompt a réapparu)
- 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 :

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à :

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 :

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.
- Chaînes de caractères
- exemple :
"python"ou'python' - quelque chose qui commence et fini par
"ou qui commence et fini par'ou encore qui commence et fini par""".
- exemple :
- Réels
- exemple :
2.91ou2.0 - un nombre avec une décimale (qui peut être nulle) notée par un
.
- exemple :
- Entiers
- exemple :
42ou0 - un nombre sans décimale
- exemple :
- Complexes (la notation utilise j à la place de i)
- exemple :
3+2j,1j - un réel ou entier avec une partie imaginaire, notée
j, entière ou imaginaire.
- exemple :
- Booléens
- exemple :
TrueouFalse - que 2 possibilités,
TrueouFalse
- exemple :
- le vide, utilisé pour noter l'absence de valeur
- ne contient qu'un unique élément noté
None
- ne contient qu'un unique élément noté
À 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
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
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
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
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
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
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é.