Initiation au langage Python

publicité
Initiation au langage Python
Python est un langage de programmation créé par Guido Van Rossum, dont la première version est sortie en 1991.
Utilisateurs de Python : Google, YouTube, Mozilla, Microsoft…
Logiciel : Python en ligne sur http://python.beharelle.fr/ (Python 2.7, cf. ci-dessous).
Il y a deux façons d’utiliser Python :
le mode console ou shell
le mode éditeur
En mode Shell, les commandes sont exécutées ligne par
ligne : Python fonctionne comme une calculatrice, on tape une
commande et on valide pour exécuter.
Le résultat est affiché sous la commande et une nouvelle
ligne est créée : commandes et résultats sont affichés dans la
même fenêtre.
En mode éditeur, les commandes sont tapées dans une
fenêtre d’édition et sont ensuite exécutées en bloc.
Rien n’est affiché ! Il faut spécifier à Python qu’un résultat
doit être transmis à la fenêtre d’affichage grâce à l’instruction
print( ). Il y a donc deux fenêtres : la fenêtre de l’éditeur et la
fenêtre de sortie.
Avantage : simplicité.
Inconvénient : les commandes tapées ne sont pas conservées
(une erreur ou une insertion nécessite souvent de retaper
plusieurs lignes).
⇒ Utilisation : tester une commande (vérifier sa syntaxe,
son effet…)
Avantage : les commandes peuvent être facilement
modifiées, insérées (il faut alors réexécuter) .
Inconvénient : nécessité de spécifier print(resultat).
⇒ Utilisation : écrire
comportant plusieurs lignes.
des
scripts
(programmes)
Remarques importantes :
- Testé avec navigateur Firefox sur PC et mobile android (Chrome possible mais affichage un peu moins bon).
- En cas de « plantage », rafraîchir la page du navigateur (conseil : copier préalablement le contenu de l’éditeur).
- Si rien n’est affiché, la commande est incorrecte (ou print( ) n’a pas été utilisée en mode éditeur).
Nous utiliserons plus tard un éditeur beaucoup plus perfectionné (Pyzo) qui permet d’enregistrer les commandes de l’éditeur
dans un fichier texte et affiche simultanément l’éditeur, le shell, de l’aide sur les commandes et des messages d’erreur.
PCSI – IPT G. Monod
Initiation_Python.docx
1/4
Python – Opérations élémentaires – Mode Shell de Python
Syntaxe
Python
Signification
Exemples et remarques
+,-,*,/
Opérations classiques
2*(5-2)
Attention à la version de Python pour la division :
- Python 2. : 3/2 ou 3//2 donnent 1 (division entière)
→ écrire 3.0/2 ou 3./2 ou 3/2.
- Python 3. : 3/2 donne 1.5
→ la division entière est obtenue par 3//2
**
Puissance
2**5 calcule 25
//
Division entière
7//3 calcule le quotient entier de 7÷3 soit 2
%
Reste dans la division entière
7%3 calcule le reste dans la division entière de 7÷3 soit 1
== , <= , >= , !=
Égalité, ≤ , ≥ , ≠
and , or , not
Et, ou , négation
Tester les commandes suivantes dans le shell, noter les résultats sur cette feuille :
Opérations mathématiques et logiques
2**5
2*-5
2**-5
1./2**5
1//2**5
1%2**5
2**5 <= 35
2**5 != 35
2**5 == 32
2*2 == 4 and 4 !=5
Plus loin avec les booléens (True et False) – Attention à la casse (majuscules / minuscules) !
True
True + 0
False + 0
True + True
True and True
false
Quelques surprises…
5//3
5./3
1 + 2./3
5./3 == 1 + 2./3
10**50 + 2.5 – 10**50
cos(0) (*)
pi (*)
( )
* Voir ci-dessous.
Python – Modules / librairies / bibliothèques – Mode éditeur
Syntaxe
Python
Signification
Exemples
import math
Charge en mémoire toutes les fonctions et les constantes du
module math.
math.tan(0), math.pi
from math import sqrt, cos
Charge en mémoire uniquement les fonctions et les
constantes listées.
from math import *
Même effet que import math mais dangereux (risque de
conflit de noms de fonctions entre plusieurs modules).
Possible si un seul module est utilisé (avantage : syntaxe
raccourcie). À éviter sinon.
tan(0), pi
import random as rd
Charge le module random et utilise l’alias ‘rd’ au lieu du nom
complet ‘random’ (corrige le défaut précédent).
rd.randint(0,9)
PCSI – IPT G. Monod
Initiation_Python.docx
2/4
Tester, dans l’ordre proposé, les commandes suivantes en mode éditeur, noter les résultats sur cette feuille :
Module pour le calcul
from math import *
print(pi)
print(cos(pi))
Module pour les nombres aléatoires
import random as rd
print(rd.randint(0,9))
print(rd.randint(0,9))
print(rd.randint(0,9))
print(rd.random())
Python – Variables : affectation, incrémentation
Syntaxe
Python
a=7
Signification
a←7:
Mémoire de l’ordinateur
a
b
x
a
b
x
a
b
x
on affecte la valeur 7 à la variable a
7
a=8
a←8:
on affecte la valeur 8 à la variable a,
l’ancienne valeur est écrasée.
8
a=a+1
a ← a+1 : on affecte la valeur a+1 = 8+1 = 9 à la
variable a qui est incrémentée (modifiée
à partir de sa propre valeur).
9
Instruction fondamentale en informatique
Tester, dans l’ordre proposé, les commandes suivantes dans le shell, noter les résultats sur cette feuille :
Affectation vs égalité, affectations simultanées, raccourcis
a=7
a
a == 7
a, b = 1, 2
a
a, b
a += 4
a
Échange de 2 variables
a=1
b=2
a=b
b=a
a, b
Comparer et interpréter.
a=1
PCSI – IPT G. Monod
b=2
a, b = b, a
a, b
Initiation_Python.docx
3/4
Applications numériques avec Python
Effectuer les applications numériques suivantes (dans l’éditeur !) :
Équation de Van der Waals
Déterminer la valeur de la température de l’air en utilisant l’équation d’état de Van der Walls
 P + n 2 a  V − nb = nRT
(
)

2 
V 

sachant que : P = 105 Pa, n = 1 mol, V = 24,0 10-3 m3, a = 0,1358 usi, b = 3,913 10-5 usi et R = 8,314 JK-1mol-1.
Comparer avec le résultat obtenu en assimilant l’air à un gaz parfait.
Chaînes de caractères
Chaîne de caractère (string)
Python sait manipuler des nombres, des booléens mais aussi du « texte » c'est-à-dire des chaînes de caractères (string)
entre guillemets simples ou doubles : 'a', "a", "2*a-b/c", "Ceci est du texte" sont des chaînes de
caractères (tester dans le shell).
De la même façon qu’un nombre ou un booléen, on peut stocker une chaîne dans une variable : s ='azerty' est
valide (tester dans le shell, entrer s et valider pour afficher ensuite la chaîne).
Conversion nombre → chaîne
Pour afficher un résultat par exemple, il peut être intéressant de convertir un nombre en chaîne, cette opération se fait grâce
à la fonction str() : str(4) renvoie '4' (tester dans le shell).
Opérations sur les chaînes : concaténation
L’opération de concaténation (mettre des chaînes « bout à bout ») est réalisée grâce à l’opérateur '+'. Quel est le résultat
de : 'O' + 'ui, M' + 'onsieur' (tester dans le shell) ?
Quel est le résultat de 'Y' + 5*'e' + 's !' (tester dans le shell) ?
Rq : ne pas utiliser de caractères spéciaux dans le navigateur (caractères accentués, apostrophes…), ce problème ne se posera
pas avec Pyzo.
Commande print( )
Pour améliorer la lisibilité des résultats, on peut par exemple écrire des instructions de la forme :
print('T =' + str(T-273) + ' (en degres Celsius) ') (tester dans l'éditeur).
PCSI – IPT G. Monod
Initiation_Python.docx
4/4
Téléchargement