Le diaporama en pdf

publicité
Python
syntaxe
élémentaire
Marie Pierrot – Lycée général et technologique du Rempart
Opérateurs mathématiques
symbole
effet
exemple
+
addition
6+4 == 10
-
soustraction
6-4 == 2
*
multiplication
6*4 == 24
/
division
6/4 == 1.5
**
élévation à la puissance
12**2 == 144
//
division entière
6//4 == 1
%
reste de la division entière
6%4 == 2
Opérateurs mathématiques
+
*
/
**
//
%
A vous de jouer !
addition
soustraction
multiplication
division
L'interpréteur de l'IDLE permet de se servir de
python comme d'une calculatrice...
Ouvrez l'IDLE et testez chacun de ces opérateurs.
élévation à la puissance
division entière
reste de la division entière
>>> (8-2.5*4)**2
4.0
>>> 45/8-3*12
-30.375
>>>
●
●
Pour obtenir le résultat on appuie sur 
Les règles de priorité sont les mêmes que
celles des Mathématiques :
1) parenthèses
2) multiplication et division
3) addition et soustraction
Opérateurs mathématiques
Comment expliquer ça ?
>>> 58/3
19.333333333333332
>>> 58//3
19
>>> 58%3
1
>>> 25**1*3
75
>>> 25**(1*3)
15625
>>> 48/3
16.0
>>> 4*4
16
>>> 4*4.0
16.0
>>> 4//3**2
0
>>> 8%7-8//7
0
>>> 8%(7-8)//7
0
>>> 8%7**8//7
1
>>> 45/3,5
(15.0, 5)
>>> 45/3.5
12.857142857142858
>>> -2 + 93
91
>>> 9.5 + 2
11.5
>>> 3.11 + 2.08
5.1899999999999995
Opérateurs de comparaison
symbole
<
>
<=
>=
==
!=
X is Y
X is not Y
signification
strictement inférieur
>>> 5<=6
True
strictement supérieur
inférieur ou égal
>>> 6==9
False
supérieur ou égal
>>> 6.0==6
True
égal
différent
X et Y
X et Y
représentent le même
ne représentent
pas
objet
le même
objet
>>> type(6.0)==type(6)
False
Affectation de variables
'
=
' est l'opérateur d'affectation
Affectation simple
>>> maVariable = 38
Affectation multiple >>> x = y = z = 3
Affectation parallèle
>>> x , y = 1 , 0.5
Les noms de variables commencent généralement par une
lettre minuscule et surtout ils ne doivent pas faire partie de
la liste des mots réservés par le langage python....
Affectation de variables
Les mots réservés par python :
and , del , from , none , true , as , elif , global , nonlocal , try ,
assert , else , if , not , while , break , except , import , or , with ,
class , false , in , pass , yield , continue , finally , is , raise , def ,
for , lambda , return
Une variable doit respecter quelques règles de syntaxe incontournables :
●
●
●
Le nom de la variable ne peut être composé que de lettres, majuscules
ou minuscules, de chiffres et du symbole souligné « _ »
Le nom de la variable ne peut pas commencer par un chiffre.
Le langage Python est sensible à la casse, ce qui signifie que des
lettres majuscules et minuscules ne constituent pas la même variable
Conventions des programmeurs : mon_age , monAge.
Affectation de variables
>>> monAge = 10
>>> print(monAge * 4)
40
>>> monAge+3 = 13
SyntaxError: can't assign to
operator
>>> monAge = monAge+3
>>> print(monAge)
13
>>> a=5
>>> b=-2
>>> c=7
>>> a+b+c
10
>>> a,b=b,a
>>> print(a)
-2
>>> print(b)
5
>>> x=3
>>> y=-4
>>> x=y
>>> y=x
>>> print(x,y)
-4 -4
>>> r, pi, t = 4, 3.14, "périmètre : "
>>> print (t, 2*pi*r)
périmètre : 25.12
Types de données
int
float
complex
str
bool
list
dict
file
function
Nombre entier optimisé
Nombre à virgule flottante
Nombre complexe
Chaîne de caractère
Booléen (True, False)
Liste de longueur variable
dictionnaire
Fichier
fonction
La fonction type(maVariable) permet de
connaître le type d'une variable
Types de données
Sous Python il suffit d'assigner une valeur à un nom
de variable pour que celle-ci soit automatiquement
créée avec le type qui correspond le mieux à la valeur
fournie :
>>> a=15
>>> type(a)
<class 'int'>
# nombre entier
>>> a=15.0
>>> type(a)
<class 'float'>
# nombre réel
>>> a='15'
>>> type(a)
<class 'str'>
# chaine de caractères
Types de données
Les ENTIERS → Le type INTEGER
>>> a,b,c = 3,2,1
>>> while c<17 :
# A vous d'essayer jusqu'à 28 ou 30...
print(c," : ",type(b)," ; ",b)
a,b,c = b, a*b, c+1
Pour des valeurs entières comprises
entre :
-2147483648 et + 2147483647, les
données sont encodées sur un bloc
de 4 octets (ou 32 bits).
1 : <class 'int'> ; 2
2 : <class 'int'> ; 6
3 : <class 'int'> ; 12
4 : <class 'int'> ; 72
5 : <class 'int'> ; 864
6 : <class 'int'> ; 62208
7 : <class 'int'> ; 53747712
8 : <class 'int'> ; 3343537668096
9 : <class 'int'> ; 179707499645975396352
10 : <class 'int'> ; 600858794305667322270155425185792
11 : <class 'int'> ; 107978831564966913814384922944738457859243070439030784
12 : <class 'int'> ; 64880030544660752790736837369104977695001034284228042891827649456186234582611607420928
13 : <class 'int'> ;
700566989011183200292376413995762169216245450579726979173836923132717548836212350644346734002689652046961030088325062490084374
2470237847552
14 : <class 'int'> ;
454528076456265799856362940482493512051682398707229461514016556556583986422276163358151238257824601969802061415367471160941735
505142279479530059170096950422693079038247634055829175296831946224503933501754776033004012758368256
15 : <class 'int'> ;
318427365944011000106567818452634974304444178854915195324932364763562084960825141613372157614498508540004400933871602414510379
428457156931528882381845765302177654153606518817219180677991673695040257468073976709887381877507938941261929015645442782729397
6600351421389529829761457294069326870531776761014180770945376422950382981730735281584751589821127786977204109312
16 : <class 'int'> ;
144734178133566760419873029143113996406179774284232434495706290081168960115277142830418810447628296300457203939855532986643988
107411489164838754787984312499784789298432773344653648365259443241392242908558814535219330404271497704808384043817755440652876
630550065370367676327961575346806129787065316267816963545132743255275593871525929793205628958911052972272286588583185421829952
911965106518423502075017154885655023629140602459402276434514497682774018376000799603699475147403512890467304541055775049369700
4242362490477459068162282052700352929034054135439001247770927194025224351878974799872
Lorsque les valeurs traitées sont des
nombres entiers se situant au-delà
de ces limites, leur encodage dans
la mémoire de l'ordinateur devient
plus complexe, ce qui nous apparaît
uniquement par le temps de calcul
qui s'en trouve augmenté...
Ce qui compte beaucoup !
Types de données
Les nombres REELS → Le type FLOAT
>>> a,b,c = 3.,2.,1
>>> while c<17 :
print(c," : ",type(b)," ; ",b)
a,b,c = b, a*b, c+1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
2.0
6.0
12.0
72.0
864.0
62208.0
53747712.0
3343537668096.0
1.797074996459754e+20
6.008587943056673e+32
1.079788315649669e+53
6.488003054466074e+85
7.005669890111831e+138
4.545280764562657e+224
inf
inf
Pour qu'une donnée numérique soit
considérée par Python comme étant du
type float, il suffit qu'elle contienne dans
sa formulation un élément tel qu'un point
décimal ou un exposant de 10.
Par exemple, les données :
3.14
10.
1e100
.001
3.14e-10
sont interprétées par Python comme étant
du type float .
Les nombres trop grands sont tout
simplement notés « inf » (pour « infini »).
Le type float utilisé dans notre exemple permet de manipuler des nombres (positifs ou
négatifs) compris entre 10-308 et 10308. Ces nombres sont encodés sur 8 octets (64 bits)
dans la mémoire de la machine
Types de données
Les chaines de caractères → le type STRING
Un "string" est une chaine de caractères.
On peut délimiter une telle suite de caractères, soit par des apostrophes
(simple quotes), soit par des guillemets (double quotes). Exemples :
>>> phrase1 = "c'est le salut"
>>> phrase2 = 'des programeurs...'
>>> phrase3 = 'Disons "Hello world !" voilà,'
>>> print( phrase3, phrase1, phrase2 )
Disons "Hello world !" voilà, c'est le salut des programeurs...
>>>
Remarquez l'utilisation des guillemets pour délimiter une chaîne dans
laquelle il y a des apostrophes, ou l'utilisation des apostrophes pour
délimiter une chaîne qui contient des guillemets. Remarquez aussi encore
une fois que l'instruction print insère un espace entre les éléments
affichés.
Types de données
Les chaines de caractères → le type STRING
>>> salut = "Hello world !"
>>> print(salut*3)
Hello world !Hello world !Hello world !
>>> salut+" comment ça va ?"
'Hello world ! comment ça va ?'
>>> passageLigne ="\n"
>>> print((salut+passageLigne)*3)
Hello world !
Hello world !
Hello world !
>>>
>>>
o c e
>>>
JJJJJ
>>>
8
p = 'Jocelyne'
print(p[1],p[2],p[3])
print(p[0]*5)
len(p)
Un « string » peut être vu
comme une « liste » de
caractères...
Importation de modules
Exemples de modules :
string
Contient les opérations communes sur les
chaînes de caractères
datetime
Regroupe les fonctions traitant les
variables « temps » et les dates
math
Fonctions mathématiques (sqrt, cos, sin,
etc... )
cmath
Les ajouts pour prendre en compte les
nombres complexes
random
Gestion du
hasard
time
Accès au temps et à ses convertions
turtle
Faire des graphiques avec Turtle
tkinter
Bibliothèque permettant de faire des
interface graphiques
pyGame
Pygame est une bibliothèque d'extension
de Python pour faire des jeux en 2D avec
musique
Pillow
bibliothèque de manipulation d’images
très populaire
Python comporte des
« fonctions » prédéfinies comme
par exemple print() et len() que
nous avons déjà vues...
Il est aussi possible d'importer
des modules dans un
programme pour ajouter des
fonctions.
Les modules sont des
fichiers qui regroupent
un ensemble de
fonctions.
Importation de modules
>>> pi=3.14116
>>> pi
3.14116
>>> sin(pi)
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
sin(pi)
NameError: name 'sin' is not defined
>>> from math import sin
>>> sin(pi)
0.0004326535762950563
>>> from math import * # importe toutes les fonctions du module math
>>> dir(math)
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
dir(math)
NameError: name 'math' is not defined
>>> import math
>>> dir(math)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh',
'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1',
'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot', 'isfinite', 'isinf', 'isnan', 'ldexp',
'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh',
'trunc']
>>>
Téléchargement