Professional Documents
Culture Documents
Chap1 Introduction
Chap1 Introduction
• Orienté objets
Python est associé à de très nombreuses librairies très performantes, notamment des librairies de calcul
scientifique (Numpy, SciPy, Pandas, etc.).
De fait, il est de plus en plus populaire, y compris auprès des data scientists. Il est plus généraliste que R qui est
vraiment tourné vers les statistiques.
Mode d’exécution/ Mode opératoire (1/2)
Mode d’exécution : transmettre à l’interpréteur Python le fichier script « .py » ou en mode intéractif
Données typées. Python propose les types usuels de la programmation : entier, réels, booléens,
chaîne de caractères.
Structures avancées de données. Gestion des collections de valeurs (énumérations, listes) et des
objets structurés (dictionnaires, classes)
Organisation du code en modules. Fichiers « .py » que l’on peut appeler dans d’autres
programmes avec la commande import
Possibilité de distribution des modules : soit directement les fichiers « .py », soit sous
forme d’extensions prêtes à l’emploi.
Python est « case sensitive » : différencie les termes écrits en minuscule et majuscule.
Domaines d'application
Le scripting
Le développement Web
Le calcul scientifique
Programmation réseau 12
Installation
Installation
Installation
Installation
Installation
Accès à l'interpréteur
L'IDE PyCharm
PyCharm est le meilleur IDE tout simplement. Sa
version gratuite est très complète et répond à tous
les besoins d'un développeur python.
Sublime Text
Il est ultra light, il est beau, il est fort, il est puissant!
Sublime text possède toute une panoplie de plugins
dont vous serez vite accroc! Sa version de base est
gratuite, une petite alerte vous demandera de temps
en temps si vous voulez acheter une licence pour
soutenir le projet mais rien ne vous oblige à le faire.
Utiliser Spyder de Anaconda
C’est le mode de fonctionnement
Pour lancer le programme que nous allons privilégier !
Editeur de code
Console IPython
Sorties + interaction avec l’utilisateur
Python
Premiers pas
Les commentaires
24
Les blocs d’instructions et l’indentation
Un bloc d’instructions est une unité de programmation qui regroupe une séquence ordonnée
d’instructions qui s’exécutent les unes après les autres. Un programme impératif va faire s’enchaîner
les blocs d’instructions en les branchant les uns aux autres via des structures de contrôle telles que
if, for, while, . . .
• En python, il n’ ya pas de marqueur de début et de fin d’un bloc d’instructions (pas de { } etc..)
• L’indentation marque le début d’un bloc :
Recommandation (PEP8) pour la syntaxe de chaque niveau d'indentation est très simple : 4 espaces
(Certains IDE comme Spyder intègrent cette indentation par défaut)
• Un bloc est terminé par une ligne vide (Recommandation et bonne pratique Python)
25
Les variables
En Python, une variable est une zone de la mémoire de l'ordinateur dans laquelle une valeur
est stockée. Aux yeux du programmeur, cette variable est définie par un nom, alors que pour
l'ordinateur, il s'agit en fait d'une adresse, c'est-à-dire d'une zone particulière de la mémoire.
En Python, on ne déclare pas une variable : une variable est créée au moment de l’affectation
>>> a = 1.2
>>> d= a+3
>>> d
4.2
Les variables
>>> a = 3 >>> var = 1 >>> a = 5
>>> b = a >>> print ( var ) >>> b = a
>>> c = 10 ** a 1 >>> a = b + 3
>>> d = a * c >>> var = " abcd " >>> print (a, b)
>>> print (a, b, c, d) >>> print ( var ) 8 5
3 3 1000 3000 abcd
>>> pi=3.14
>>> print(pi)
3.14
Le passage des types primitifs en Python s'apparente à un passage par valeur.
Quelques exemples à problème :
>>> x=y
>>> a = [1, 2, 3]
Traceback (most recent call last):
>>> b = a
File "<pyshell#4>", line 1, in <module>
>>> a.append (4)
x=y
>>> print(a, b)
NameError: name 'y' is not defined
[1, 2, 3, 4] [1, 2, 3, 4]
Le passage des types composés en Python s'apparente à un passage par référence.
https://pythontutor.com/python-debugger.html#mode=edit
Les variables
Affectation simple Affectations multiples
#typage automatique #même valeur pour plusieurs variables
a = 1.0 a = b = 2.5
Conversion en numérique
a = « 12 » # a est de type chaîne caractère
b = float(a) #b est de type float
N.B. Si la conversion n’est pas possible ex. float(« toto »), Python renvoie une erreur
Conversion en logique
a = bool(« TRUE ») # a est de type bool et contient la valeur True a = bool(1) #
renvoie True également
Priorité :
1. parenthèses
2. exposant
3 multiplication et division
4. addition et soustraction
Opérations arithmétiques sur les chaînes de
caractères
Addition
chaine1 + chaine2
Multiplication
Chaine * nbreRépetitions
Opérations d'affectation sur les types numériques
Opérateur None Dénote une variable “vide” : pointe sur None pour représenter qu’elle ne contient rien.
Il est juste possible de tester si une variable pointe dessus ou pas.
if x is not None
Opérateurs logiques
Affectation
+=
*=
Affichage
print("message")
print("message", var1, var2,
"message")
print(var1, var2, sep="-", end=".")
>>> x = 32
>>> nom = "John"
>>> print("{} a {} ans".format(nom, x))
John a 32 ans
#Another way to do it
txt = "For only {price:.2f} dollars!"
>>> x = 32 print(txt.format(price = 49))
>>> nom = "John"
>>> print("{0} a {1} ans".format(nom, x))
John a 32 ans
>>> print("{1} a {0} ans".format(nom, x))
32 a John ans
Affichage formaté