Chapitre 1
Mise en route
Nous supposerons ici que Python est d´ej`a install´e et fonctionnel. En compl´ement de ce polycopi´e, on pourra
´egalement consulter le tutorial officiel de Python (en anglais) :
https ://docs.python.org/3/tutorial/
Dans la suite de ce document, nous indiquerons les commandes Python et le r´esultat donn´e par l’interpr`ete.
Les commandes venant apr`es les chevrons >>> sont les commandes tap´ees par l’utilisateur. Le r´esultat donn´e
par Python se lit alors sur la ligne suivante. Lorsque Python n’a rien `a renvoyer, la ligne est omise.
1.1 Variables et types simples
1.1.1 Premiers pas
On peut utiliser Python comme une calculatrice :
>>> 67
42
Les entiers en Python ne sont pas limit´es. Calculons 25 `a la puissance 20 :
>>> 25 ∗ ∗20
9094947017729282379150390625
Les op´erateurs usuels sur les entiers sont : +, ,. La pr´ec´edence entre ces op´erateurs est standard : est
prioritaire sur + ou .
>>> 2 + 3 2
8
La division enti`ere se note // et le reste de la division euclidienne se note % :
>>> 14//3
4
>>> 14%3
2
On peut ´egalement manipuler des nombres `a virgule (nombres flottants). Ici, la simple pr´esence d’un unique
flottant dans une expression indique `a Python de tout effectuer avec des nombres `a virgules, donc r´eels.
>>> 3.+ 12
15.0
Notez qu’on obtient uniquement une valeur approcee. Notamment, un rationnel comme 1/33 n’existe qu’en
tant qu’approximation :
1
1.1. VARIABLES ET TYPES SIMPLES CHAPITRE 1. MISE EN ROUTE
>>> 1.0/33.0
0.030303030303030304
(Ici le 4 `a la fin illustre bien le probl`eme de l’approximation d’un r´eel par un flottant).
1.1.2 Le module ”math” de la biblioth`eque standart
Les fonctions math´ematiques usuelles telles que : x7→ x,sin, cos... sont disponibles dans la biblioth`eque
standart de Python : ce ne sont pas des fonctions qui existent dans le ”noyau” de Python, mais elles ont d´ej`a ´et´e
programm´ees ; pour pouvoir les utiliser, il faut les charger depuis le module math de la biblioth`eque standart
avec l’instruction import sinon Python se vexe :
>>> sin(2.5)
Traceback (most recent call last) :
File ”<stdin>”, line 1, in <module>
NameError : name ’sin’ is not defined
sin n’est en effet pas d´efini par d´efaut.
>>> from math import sin
>>> sin(2.5)
0.59847214410395655
apr`es importation de la fonction sin du module math, on peut l’utiliser.
Pour importer toutes les fonctions du module math :
>>> from math import
>>> cos(2.5)
0.8011436155469337
On pourra trouver notamment dans le module math :
Les fonctions usuelles : sin, cos, exp, floor (partie enti`ere), ceil (partie enti`ere sup´erieure), abs (valeur ab-
solue), factorial (la factorielle), log (logarithme n´ep´erien), log(.,p) (logarithme en base p), acos (arccos),
asin (arcsin), atan (arctan), atan2 (d´etermine un argument de x+iy), cosh (cos hyperbolique), sinh (sin
hyperbolique), tanh (tangente hyperbolique).
Les constantes usuelles de math´ematiques : pi , 1j (le ”i” des complexes), e (base de l’exponentielle).
Remarque :
Pour faire des calculs exacts sur les fractions, on pourra importer le module fractions.
>>> from fractions import Fraction
>>>Fraction(1,33)+Fraction(1,17)
Fraction(50,561)
1.1.3 Entiers et flottant
Les valeurs manipul´ees par Python sont catalogu´ees selon diff´erents types. Le type int esigne une valeur
enti`ere (en anglais : integer ) alors que le type float d´esigne une valeur r´eelle (raccourci de l’anglais floating
point number : nombre `a virgule flottante).
Notez la diff´erence entre les entiers et les flottants. 42 est un entier :
>>> type(42)
<type ’int’>
Mais 42.0 est un flottant :
2
CHAPITRE 1. MISE EN ROUTE 1.2. D ´
EFINITION DE VARIABLES
>>> type(42.0)
<type ’float’>
Il est possible de convertir un entier en flottant `a l’aide de l’op´erateur float :
>>> float(42)
42.0
Et dans l’autre sens avec l’op´erateur int qui tronque la partie d´ecimale :
>>> int(42.4)
42
>>> int(42.4)
42
Pour plus de contrˆole sur la conversion, on pourra utiliser les fonctions de troncature et d’arrondi : math.floor
pour la partie enti`ere inf´erieure, math.ceil pour la partie enti`ere sup´erieure et math.round pour un arrondi
(apr`es importation du module math ).
>>> floor(42.4)
42.0
>>>math.ceil(42.4)
43.0
>>> round(42.4)
42.0
>>> round(42.6)
43.0
>>> int(round(42.6))
43
On pourra retrouver la d´efinition de ces fonctions dans l’aide int´egr´ee `a Python. On y acc`ede `a l’aide de la
fonction help :
>>> help(math.ceil)
Help on built-in function ceil in module math :
ceil(...)
ceil(x)
Return the ceiling of x as a float.
This is the smallest integral value >= x.
Python convertit automatiquement les entiers en flottants quand cela est pertinent. Ainsi :
>>> from math import sqrt
>>> sqrt(2)
1.4142135623730951
donne la mˆeme chose que sqrt(2.0).
1.2 D´efinition de variables
1.2.1 Affectation
en´eralit´es
Le symbole d’affectation pour donner une valeur `a une variable est le symbole = :
>>> x = 4
3
1.2. D ´
EFINITION DE VARIABLES CHAPITRE 1. MISE EN ROUTE
Python ne epond rien : nos entr´ees pr´ec´edentes ´etaient des expressions, qu’il a interpr´et´ees comme des
questions et il y a r´epondu. Ici, nous lui avons donn´e une instruction, il ex´ecute l’ordre et se contente d’affirmer
qu’il est prˆet en nous gratifiant de nouveau d’un >>>. On peut alors lui demander la valeur de x:
>>> x
4
L’instruction x= 4 cr´ee une nouvelle variable appel´ee xet m´emorise dans cette variable la valeur 4. On dit
que la variable xest initialis´ee `a la valeur 4. Par la suite, chaque appel de la variable xs’´evaluera en rempla¸cant
xpar 4.
Le nom d’une variable ne doit pas contenir d’espace. Il ne peut ˆetre compos´e uniquement de lettres non
accentu´es, de chiffres et du caract`ere soulign´e .
On peut aussi affecter plusieurs variables simultan´ement :
>>> a, b = 17,42
>>> a
17
>>> b
42
L’affectation se fait en parall`ele, ce qui est bien pratique pour ´echanger le contenu de deux variables :
>>> b, a =a, b
>>> a
42
>>> b
17
1.2.2 Incr´ementation
Pour ajouter une valeur (par exemple 3) `a une variable, on peut faire comme dans les langages de program-
mation classiques :
>>> x = 0
>>> x =x+ 3
>>> x
3
Mais on peut aussi utiliser + = (c’est la fa¸con de faire idiomatique en Python) :
>>> x+=3
>>> x
6
On dispose de mˆeme de = , = , /= et // = :
>>> x= 5
>>> x
30
>>> x= 7
>>> x
23
4
CHAPITRE 1. MISE EN ROUTE 1.2. D ´
EFINITION DE VARIABLES
1.2.3 Notion d’expression
A droite d’une affectation, il doit y avoir une expression c’est-`a-dire :
Une constante (de type int,float,ou autres...)
Une variable d´ej`a affect´ee
Un appel de fonction dont les param`etres sont eux-mˆemes une expression.
Une expression peut se repr´esenter par un arbre de calcul dont chaque noeud est un appel de fonctions et
dont les ramifications sont des variables ou des arbres (dits sous-arbres) :
Exemple : Soit l’affection : a=exp(x)+cos(3 y)
On peut construire l’arbre :
x
exp
3y
*
cos
+
On constate que les op´erations + et sont consid´er´ees comme des fonctions. ”exp(x)+cos(3 y)” n’est une
expression que si xet ysont eux-mˆemes des expressions, c’est-`a-dire des variables initialis´ees.
Il ne faut donc pas confondre une expression (qui est donc un arbre de calcul) et son ´evaluation (qui est le
r´esultat de ce calcul).
>>> from math import exp , cos
>>> a =exp(x)+cos(3 y)
Traceback (most recent call last) :
NameError : name ’y’ is not defined
>>> y = 2
>>> x = 0
>>> a =exp(x)+cos(3 y)
>>> a
1.9601702866503659
Si par la suite, on modifie la valeur de xou y, la valeur de ane sera pas modifi´ee.
>>> from math import exp , cos
>>> y = 2
>>> x = 0
>>> a =exp(x)+cos(3 y)
>>> a
1.9601702866503659
>>> y = 0
>>> a
1.9601702866503659
1.2.4 Autres types simples
Les bool´eens
Les bool´eens, ou valeurs de v´erit´e, peuvent prendre deux valeurs : True ou False. Les op´erateurs de compa-
raison (<,>,<= , >=) permettent de comparer deux nombres :
5
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !