Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 2 ~ Cours N°2 4 1 0 2 Règles Générales d’Écriture M S d’un Programme D e r è 1 Informatique1 M L 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 1. Présentation de l'l'environement environement Python 5 1 0 2 ~ Python est un langage interprété, portable, dynamique, extensible, gratuit, qui permet une approche modulaire et orientée objet de la programmation. 4 1 Il est doté d'un typage dynamique fort, d'une gestion automatique de la mémoire par ramasse-miettes et d'un système de gestion d'exceptions ; il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et Tcl. 0 2 Le langage Python est placé sous une licence libre proche de la licence BSD et fonctionne sur la plupart des plates-formes informatiques, des supercalculateurs aux ordinateurs centraux, de Windows à Unix en passant par GNU/Linux, Mac OS, ou encore Android, iOS, et aussi avec Java ou encore .NET. D M L M S Il est conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à utiliser. e r è 1 Il est également apprécié par les pédagogues qui y trouvent un langage où la syntaxe, clairement séparée des mécanismes de bas niveau, permet une 2 initiation aisée aux concepts de base de la programmation. Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 1. Présentation de l'l'environement environement Python 5 1 0 2 ~ Historique : 1991 : Guido van Rossum publie Python au CWI (PaysBas) à partir du langage ABC et du projet AMOEBA (système d'exploitation distribué) – Il tire son nom d’une célèbre série TV des années 70 "Monty Python" 1994 : sortie de la version 1.0 M S 1996 : sortie de Numerical Python 2000 : sortie de la version 2.0 D M L 0 2 4 1 Guido van Rossum, créateur du Python 2001 : naissance de de la PSF (Python Software Fundation) 2008 : sorties simultanées de Python 2.6 et de Python 3 e r è 1 2009 : sorties simultanées de Python 2.7 et de Python 3.1 Octobre 2014 : versions 2.7.8 et 3.4.2 (c’est la version que nous allons utiliser) La version 2x n’évolue plus, elle est remplacée progressivement par la version 3x Informatique1 2014-2015©Faculté des Sciences 3 Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 1. Présentation de l'l'environement environement Python 5 1 0 2 ~ Installer Python sous Windows : Pour installer Python sous Windows, téléchargez votre version du site officiel du langage https://www.python.org/downloads/ 4 1 Il installera aussi IDLE qui permet d’utiliser le shell python et d’écrire et exécuter nos code D e r è 1 Informatique1 M L M S 0 2 Après installation 4 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 1. Présentation de l'l'environement environement Python 5 1 0 2 ~ Interpréteur interactif du Python : L'interpréteur interactif permet d'écrire et d'exécuter du code Python à la volée, de faire des tests rapides, d'obtenir facilement des informations sur une fonction ou un module, ... 0 2 4 1 La distribution standard de Python en propose 2: o Shell interactif (command line): console Python la plus basique D M L M S o IDLE: console écrite avec le toolkit Tkinter e r è 1 Le signe >>> constituent le signal d’invite, ou prompt principal, lequel 5 vous indique que Python est prêt à exécuter une commande. Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 1. Présentation de l'l'environement environement Python 5 1 0 2 ~ Interpréteur interactif du Python : (suite) IDLE « Integrated DeveLopment Environment » : est un environnement de développement intégré pour le langage Python. 0 2 4 1 Les principales fonctionnalités de IDLE sont : o l'éditeur de texte ; o le terminal Python avec coloration syntaxique ; M S o le débogueur intégré avec avancement par étape, point d'arrêts persistants et pile d'appels. D e r è 1 Informatique1 M L 6 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 1. Présentation de l'l'environement environement Python 5 1 0 2 ~ Interpréteur interactif du Python : (suite) IDLE peut être utilisé comme une simple calculatrice : on tape les expressions mathématiques qui sont immédiatement évaluées pour afficher le résultat. 0 2 >>> 45.25+(12.25*4)/2 69.75 >>> M S 4 1 Si la commande/l'expression n'est pas reconnue : erreur D M L >>> pi/2 Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> pi/2 NameError: name 'pi' is not defined >>> e r è 1 Informatique1 7 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 1. Présentation de l'l'environement environement Python 5 1 0 2 ~ Ecriture d’un script (programme) Python : IDLE en plus d'être un Shell interactif est aussi un éditeur spécialement conçu pour des programmes Python. Pour ouvrir IDLE en mode éditeur, vous pouvez, à partir du mode interactif, aller dans le menu File → New Window. S'ouvrira alors l'éditeur de IDLE. D M S 0 2 4 1 Vous pouvez alors écrire un programme Python et l'enregistrer dans un fichier d'extension .py. e r è 1 Informatique1 M L 8 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 2. Les Identificateurs 5 1 0 2 ~ Pour manipuler différents objets dans un programme, il faut leur donner des noms. 4 1 Les noms utilisés pour les objets manipulés sont des identificateurs. 0 2 M S L’identificateur est un nom symbolique utilisé pour nommer D (identifier) un objet M dans un programme informatique. L e r è 1 Définition : 9 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 2. Les Identificateurs (suite) 5 Règles d’écriture d’un identificateur : 1 0 2 Les identificateurs sont représentés par une suite de lettres ~ et/ou de chiffres avec les restrictions suivantes : 4 1 0 le premier caractère doit être alphabétique, donc une lettre 2 obligatoirement ; M les caractères suivant le premier S peuvent être numériques ; D Seules les lettres ordinaires sont autorisées. Les lettres M accentuées, les cédilles, les espaces, les caractères spéciaux L tels que $, #, @, etc. sont interdits, à l’exception du e caractère _r(souligné). è 1 10 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 2. Les Identificateurs (suite) 5 Règles d’écriture d’un identificateur : 1 0 2 La casse est significative (les caractères majuscules et ~ minuscules sont distingues). 4 1 Exemple: LMDSM, lmdSM, LMDsm, lmdsm sont 4 0 identificateurs différents. 2 l’utilisation des mots clés (réservés) du langage est interdite. M S D Exemples : M des identificateurs L AB, B7, Nom Sont ValeurM, Valeur_A, corrects e r Sont des identificateurs Valeur M, Valeur-A, A/B, 7B, Nom$ è incorrects 1 11 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 2. Les Identificateurs (suite) 5 1 Les 33 mots clés (mots réservés) du langage 0 : 2 and, as, assert, break, class, continue, ~ def, del, elif, else, 4except, False, 1 finally, for, from, global, if, import, in, 0 2 not, or, pass, is, lambda, None, nonlocal, raise, return, True, try, while, with, M S yield. D sont des mots standards imposés par Python ; leur M L rôle sont parfaitement définis. On les signification et leur e appelle mots rclés ou mots réservés. è 1 12 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 2. Les Identificateurs (suite) 5 1 0 Au-delà de ces règles de syntaxe incontournables, il existe des 2 conventions dénies par les programmeurs ~ eux-mêmes 4 1 écrire l’identificateur en minuscules et à remplacer les 0 espaces éventuels par un espace 2 souligné. Ex: mon_age passer en majuscule le premier caractère de chaque mot, à M l'exception du premier S mot constituant l’identificateur Ex: monAge D Utiliser des nomsM significatifs. Ex: Au lieu de a, b, c, et d, L préférer prix_unitaire, nbr_art, tva, montant. e r constantes (les variables que vous ne voulez Nommerèles 1 TOUT EN MAJUSCULES. pas changer) Conventions de nommage : 13 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 En informatique, les variables sont 2 des symboles qui ~ associent un nom (l'identifiant) à une valeur. La valeur peut 4 1 être de n’importe quel type de donnée. Le nom doit être un 0 identifiant unique. 2 Dans un langage de programmation, une variable est un M espace de stockage pour S un résultat pour l’ordinateur il s’agit d’une référence D désignant une adresse mémoire, c’est-à-dire un emplacement précis dans la mémoire vive. M L Une variable contient une valeur qui peut avoir différent e valeurs aurcours de différentes exécutions. è 1 3. Variable / Constante en Python Notion de Variable 14 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 Une constante est un symbole associé à une valeur fixe. 2 ~ Syntaxiquement, cet identificateur a 4 tous les aspects d'une 1 variable. Cependant, il lui est affecté une valeur définie, 0 2 c'est-à-dire constante. En Python, il n'y a pas M vraiment de constantes. Mais le S programmeur peut décider d'utiliser certaines variables Dde ne pas changer leur valeur. comme constantes et M L e r è 1 3. Variable / Constante en Python (suite) Notion de Constante 15 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 2 ~ 4. Types de Données en Python La notion de type est liée à la notion de donnée. C'est l'ensemble des valeurs que peut prendre une donnée. 4 1 Donc le type désigne, pour un langage de programmation, deux ensembles : 0 2 • un ensemble de valeurs désigné explicitement ou par des valeurs extrêmes, • un ensemble d'opérations permises par le type. D M S Sous Python, il n’est pas nécessaire d’écrire des lignes de programme spécifiques pour définir le type des variables avant de pouvoir les utiliser. e r è 1 M L Le typage des variables sous Python est un typage dynamique, par opposition au typage statique qui est de règle par exemple en C ou en Pascal. Dans ces langages, il faut d’abord déclarer le nom et le type 16 des variables. Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 En Python, il existe 5 types de données simples (standards) : 2 ~ Le type Entier (Integer) → int14 0 Le type Réel (Float) → float 2 Le type Complexe →M S complex Le type BooléenD(Boolean) M L de caractères (String)→ str Le type Chaîne e r Rem: Il existe è des types de données plus avancés, que nous verrons par 1 la suite. 4. Types de Données en Python (suite) Types de Données Simples (Standards) 17 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 2 ~ 4. Types de Données en Python (suite) Types de Données Simples (Standards) A. Type Entier (Int) : 4 1 Le type Entier spécifié par l'identificateur standard int correspond à l'ensemble des nombres entiers. M S Représentation des valeurs 0 2 Les entiers s’écrivent en notation décimale avec éventuellement un signe + ou – devant et ne doit pas commencer par un zéro (sauf pour la valeur 0) D Exemple : +23 23 M 0 -6 521487932644558112 (pas de limite L en Python, tant que la RAM est suffisante) e Il peut être écrit en binaire (base 2) en le faisant précéder par 0b, en r 0o ou en hexadécimal (base 16) avec 0x octal (base 8)èavec Exemple : 1 42 0b101010 0o52 0x2a ont la même valeur 18 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 2 ~ 4. Types de Données en Python (suite) Types de Données Simples (Standards) B. Type Réel (float) : 4 1 Le type Réel spécifié par l'identificateur standard float correspond à l'ensemble des nombres réels. M S Représentation des valeurs 0 2 Un nombre réel comporte obligatoirement soit une virgule décimale sous forme d'un point (pas une virgule), soit un symbole e/E signifiant "10 puissance...". Exemple : 12.43 D M L -0.45 20E+2 0.45e-4 -1.5E1 e r Exemple : .18 égale 0.18 et 18. égale 18.0 (mais ne sont è 1 type que 18 qui est un entier) pas du même Il peut ne rien y avoir avant ou après le point : 19 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 2 ~ 4. Types de Données en Python (suite) Types de Données Simples (Standards) C. Type Complexe (complex) : 4 1 Le type complexe spécifié par l'identificateur standard complex correspond à l'ensemble des nombres complexe. M S Représentation des valeurs 0 2 Elles sont utilisées pour écrire la partie imaginaire des nombres complexes. Si un nombre complexe a une partie réelle, on additionne la partie imaginaire à un float. D M L Elles sont constituées d'un nombre réel ou entier suivi de la lettre j e r è Rem : le nombre 1 imaginaire i (racine carrée de -1) s’écrit donc 1j Exemple : 1.25j Informatique1 -5.j 5j 0.05j 2014-2015©Faculté des Sciences -1.5e1j -12.25+2j 20 Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 2 ~ 4. Types de Données en Python (suite) Types de Données Simples (Standards) D. Type Booléen : 4 1 Le type booléen, dit type logique, est un type symbolique qui ne peut recevoir que deux valeurs logiques : True (Vrai) et False (Faux). Exemple : D M S 0 2 >>> a=True >>> b=False >>> print(a,b) True False >>> e r è 1 Informatique1 M L 21 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 E. Type Chaîne de caractères (str) : 2 ~ Une chaîne de caractères est une suite de 4 caractères codée sous la 1 forme d’une séquence de code ASCII. 0 2 Représentation des valeurs Les chaînes s’écrivent sous laM forme d’une suite de caractères S encadrées soit par des guillemets " " ou par des apostrophes ‘ ’. D quels caractères (lettres, chiffres, Elles sont constituées de n’importe espaces, ponctuation...). M L ‘bonjour’ "12547" ‘12xA= B’ Exemple : "Salam" e "j’ai dit Bonjour! :)" r è 1 4. Types de Données en Python (suite) Types de Données Simples (Standards) 22 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 E. Type Chaîne de caractères (str) : 2 ~ Représentation des valeurs 4 1 Pour représenter certains caractères, on doit souvent utiliser une des 0 séquences d'échappement telles que 2 : \' pour le caractère ', \" pour M le caractère ", \\ pour le caractère \, \n pour un retour à la ligne , \t Spour une tabulation Exemple : D M L e r è 1 4. Types de Données en Python (suite) Types de Données Simples (Standards) (suite) >>> print("Je suis étudiant(e) à l\'Université de Tlemcen \nFaculté des Sciences\\\t\"1ère LMD SM\"") Je suis étudiant(e) à l'Université de Tlemcen Faculté des Sciences\ "1ère LMD SM" >>> 23 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 On peut connaitre le type courant d'une variable avec la 2 ~ fonction type . On utilise pour cela la syntaxe suivante : 4 1 type(identificateur) 0 2 M S D M L e r è 1 4. Types de Données en Python (suite) Typage dynamique Exemple : >>> a=20 >>> type(a) <class 'int'> >>> b=12.25 >>> type(b) <class 'float'> >>> z=-4.25+2j >>> type(z) <class 'complex'> Informatique1 >>> ch="Bonjour" >>> type(ch) <class 'str'> >>> B=True >>> type(B) <class 'bool'> >>> 24 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 Il existe plusieurs fonctions qui permettent de forcer le type d'une 2 variable en un autre type. ~ 4 1 0 2 M S D M L e r è 1 4. Types de Données en Python (suite) Conversion de type Fonction de conversion int() float() str() complex() Informatique1 Signification Exemples permet de modifier une variable >>> x=1.25 en entier, provoque une erreur si >>> int(x) 1 cela n'est pas possible permet la transformation en flottant (réel) >>> x=1 >>> float(x) 1.0 permet de transformer la plupart des variables d'un autre type en chaînes de caractère >>> x=1.25 >>> str(x) '1.25' permet la transformation en complex (complexe) >>> x=1.25 >>> complex(x) (1.25+0j) 2014-2015©Faculté des Sciences 25 Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 2 ~ 4. Types de Données en Python (suite) Conversion de type (suite) Exemple : 4 1 >>> x='157' >>> int(x) 157 >>> float(x) 157.0 >>> y='157a12' >>> int(y) Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> int(y) ValueError: invalid literal for int() with base 10: '157a12' >>> float(y) Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> float(y) ValueError: could not convert string to float: '157a12 D e r è 1 Informatique1 M L M S 0 2 26 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) 5 1 0 L’affectation permet d’attribuer une valeur ou une expression à 2 ~ une variable de même type. 4 1 Syntaxe 0 2 Dans les algorithmes, on note souvent l'opérateur d'affectation par une flècheM gauche S En Python, l'opérateur d'affectation est le symbole = et se lit D « reçoit » (pourMne pas le confondre avec le symbole d'égalité ==). LaLsyntaxe de l'instruction est donc : e r identificateur_variable = valeur è 1 Définition : 27 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) 5 1 0 >>> n=5 2 ~ >>> message="Salut tout le monde" 4 >>> pi=3.14159 1 0 2 M S D M L e r è Exemple 1: Les exemples ci-dessus illustrent des instructions d’affectation Python tout à fait classiques. Après qu’on les ait exécutées, il existe dans la mémoire de l’ordinateur, à des endroits différents: o trois noms de variables, à savoir n, message et pi ; o trois séquences d’octets, ou sont encodées le nombre entier 5, la chaine de caractères Salut tout le monde et le nombre réel 3,14159. 1 Informatique1 28 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) 5 1 0 2 ~ <Enter> Exemple 1 (suite): Pour afficher leur valeur à l’écran, il existe deux possibilités. La première 4 1 consiste à entrer au clavier le nom de la variable, puis répond en affichant la valeur correspondante : 0 2 . Python >>> n 5 >>> message 'Salut tout le monde' >>> pi 3.14159 D e r è 1 M L M S Il s’agit cependant la d’une fonctionnalité secondaire de l’interpréteur, qui est destinée à vous faciliter la vie lorsque vous faites de simples exercices à la ligne de commande. Informatique1 29 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) 5 1 0 2 ~ Exemple 1 (suite): A l’intérieur d’un programme, vous utiliserez toujours la fonction print() >>> print(n) 5 >>> print(message) Salut tout le monde >>> print(pi) 3.14159 D M L M S 0 2 4 1 La fonction print() n’affiche strictement que la valeur de la variable, telle qu’elle a été encodée, alors que l’autre méthode (celle qui consiste à entrer seulement le nom de la variable) affiche aussi des apostrophes afin de vous rappeler que la variable traitée est du type « chaine de caractères » e r è 1 Informatique1 30 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) 5 1 0 2 ~ Les variables évoluent c.à.d. que la valeur d’une même variable peut changée au cours du temps. Exemple 2: 0 2 4 1 >>> energie Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> energie NameError: name 'energie' is not defined >>> energie=120 >>> print(energie) 120 >>> energie=50.45 >>> print(energie) 50.45 >>> D e r è 1 Informatique1 M L M S 2014-2015©Faculté des Sciences 31 Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) 5 1 0 2 ~ On peut affecter à une variable une expression qui contient non seulement des constantes littérales et/ou d'autres variables mais aussi la même variable, ce qui peut sembler étrange si on oublie que = n'a pas la même signification qu'en mathématiques. Exemple 3: >>> x=1.02 >>> y=0.05 >>> x=2*x-4*y >>> print(x) 1.84 >>> D e r è 1 M L M S 0 2 4 1 L’expression x=2*x-4*y signifie calculer la valeur de 2x-4y et remplacer la valeur qui se trouve dans x par le résultat de ce calcul. Informatique1 32 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) 5 1 0 2 ~ Une affectation qui est souvent utilisée est celle qui permet d'augmenter (on dit incrémenter) la valeur d'une variable de 1. De même, on peut décrémenter. Exemple 4: >>> >>> >>> 2 >>> >>> 1 >>> x=1 x=x+1 print(x) e r è 1 Informatique1 D M L x=x-1 print(x) M S 0 2 4 1 33 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) 5 1 0 2 ~ Il existe des instructions d'affectation augmentée qui permettent de raccourcir ces écritures. Expression Python équivaut à a += b a -= b e r è 1 M L a *= b Informatique1 D 0 2 4 1 Exemples a=a+b >>> x=1 >>> x+=1 >>> print(x) 2 a=a-b >>> x=1 >>> x-=1 >>> print(x) 0 a=a*b >>> x=2 >>> x*=3 >>> print(x) 6 M S 34 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) Expression Python équivaut à a /= b a=a/b a //= b e r è 1 a **= b Informatique1 D M L a %= b 5 1 0 2 ~ 0 2 Exemples >>> x=6 >>> x/=2 >>> print(x) 3.0 4 1 a = a // b >>> x=6 >>> x//=4 >>> print(x) 1 a=a%b >>> x=6 >>> x%=4 >>> print(x) 2 a = a ** b >>> x=2.0 >>> x**=3 >>> print(x) 8.0 M S 35 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) 5 1 0 2 ~ Affectation multiple Python autorise l’affectation multiple. 4 1 Sous Python, on peut assigner une valeur a plusieurs variables simultanément : >>> x=y=12 >>> print(x,y) 12 12 >>> D M S 0 2 On peut aussi effectuer des affectations parallèles a l’aide d’un seul opérateur e r è 1 M L >>> x,y = 10,11 >>> print(x,y) 10 11 >>> Informatique1 36 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) 5 1 0 2 ~ Affectation multiple (suite) Sous Python, parmi les avantages de l'affectation parallèle: elle permet d'échanger les valeurs de 2 variables sans avoir à utiliser une variable auxiliaire (contrairement à d’autres langages sans affectation multiple). >>> x,y = 10,11 >>> print(x,y) 10 11 >>> x,y = y,x >>> print(x,y) 11 10 >>> e r è 1 M L D M S 0 2 4 1 >>> x,y = 10,11 >>> z = x >>> x = y >>> y = z >>> print(x,y) 11 10 >>> Affectation directe Informatique1 Utilisation d’une variable auxiliaire z 37 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5. Affectation (ou Assignation) (suite) 5 1 0 2 ~ ATTENTION Affecter n’est pas comparer. >>> a=2 >>> b=2 >>> a=b M S 0 2 4 1 L’affectation n’est pas commutative (le sens de lecture se fait toujours de droite à gauche) D >>> a=2 >>> 2=a SyntaxError: can't assign to literal >>> e r è 1 Informatique1 M L 38 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 6. Les Séparateurs Séparateurs ; , Définition Informatique1 Exemple 4 1 Sépare 2 instructions sur une >>> a=123 ; b=145 même ligne dans le shell ou >>> a ; b dans un script M S 0 2 La virgule entre 2 expressions est un constructeur de séquence D : 5 1 0 2 ~ M L C’est un composant syntaxique des boucles et instructions conditionnelles e r è 1 123 145 >>> a , b (123, 145) >>> for i in range(0,3): print(i) 0 1 2 39 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 7. Les opérateurs 5 1 0 2 ~ Un opérateur est un signe qui agit sur une ou plusieurs valeurs (appelées opérandes), pour produire un résultat. Les opérandes sont les valeurs combinées a l’aide des opérateurs. Exemple : + , - , * , %, … 0 2 4 1 Il existe plusieurs familles d’opérateurs : o Opérateurs arithmétiques M S o Opérateurs alphanumériques D o Opérateurs de comparaison M L o Opérateurs logiques e r è 1 Informatique1 40 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 7. Les opérateurs (suite) Type Opérateurs arithmétiques Notation Signification + Addition - Soustraction * Multiplication / Division // Division entière % Modulo (reste d’une division) ** Puissance + e r è 1 Opérateurs alphanumériques * Informatique1 D M L M S 0 2 5 1 0 2 ~ Exemples 4 1 Concaténations de chaînes de caractères Répéter une même chaîne de caractères autant de fois qu’on veut >>> 12.25+10 22.25 >>> 12*5 60 >>> 15/2 7.5 >>> 15//2 7 >>> 15%2 1 >>> 2**4 16 >>> ch1='Bonjour' >>> ch2=' Monsieur' >>> ch3=ch1+ch2 >>> ch4=(ch1+'! ')*3 >>> print(ch3) Bonjour Monsieur >>> print(ch4) Bonjour! Bonjour! Bonjour! 41 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 7. Les opérateurs (suite) 5 1 0 2 ~ ATTENTION On ne peut concaténer que des chaînes de caractères 4 1 Si on veut concaténer une chaine de caractères et une valeur numérique, il faut d'abord convertir la valeur numérique en chaine de caractères avec la fonction str . >>> vitesse=50 M S 0 2 >>> print("La valeur de la vitesse est " + vitesse + " km/h") Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> print("La valeur de la vitesse est" + vitesse + "km/h") TypeError: Can't convert 'int' object to str implicitly D e r è 1 M L >>> print("La valeur de la vitesse est " + str(vitesse) + " km/h") La valeur de la vitesse est 50 km/h Informatique1 42 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 7. Les opérateurs (suite) Type Opérateurs de comparaison Notation Signification == Égale (=) < Inférieur > Supérieur <= Inférieur ou égale (≤) >= Supérieur ou égale (≥) != Différent (≠) and Opérateurs logique or e r è 1 M L not Informatique1 D M S 0 2 5 1 0 2 ~ Exemples 4 1 Et (Conjonction) Ou (Disjonction) Non ( Négation) >>> 2 == False >>> 12 > True >>> 12 < False >>> V=10 >>> 2 <= True >>> 2!=4 True 5 5 5 V <= 15 >>> a=2 ; b=5 ; c=3 ; d=6 >>> (a < b)and(c < d) True >>> (a < b)or(c > d) True >>> not(a < b) False 43 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 7. Les opérateurs (suite) 5 1 0 2 ~ Les valeurs comparées peuvent être à priori de n’importe quel type (numériques, caractères,…) , mais la comparaison n’a de sens que si les deux valeurs comparées sont de même type. 0 2 4 1 On peut très bien comparer des caractères (leur code ASCII est comparé ordre alphabétique, avec les majuscules avant les minuscules), et des chaînes de caractère . >>> "a" < "b" D True M L M S >>> "vitesse 1" > "vitesse 2" False e r è 1 >>> "12" < "2" True Informatique1 44 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 8. Entées – Sorties 5 1 0 Pour faire fonctionner un programme il faut lui fournir des 2 ~ données et prévoir la possibilité de récupérer les résultats. Ces 4 deux opérations portent le nom 1générique d’opérations 0 d’entrée/sortie. Donc il s’agit de deux 2 opérations distinctes : Entrée de données (Lecture des données par la machine) M S Sortie de résultats (Écriture des résultats par la machine) D M En Python, les opérations d’entrée/sortie sont réalisées par deux L fonctions prédéfinis : e input – r fonction standard de lecture è print1– fonction standard d’écriture Définition : 45 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 8. Entées – Sorties (suite) 5 A. Instruction de Lecture (input) : 1 0 L’instruction de lecture permet à l’utilisateur 2 de saisir des valeurs au clavier (ou a partir d’un fichier) pour qu’elles soient utilisées par ~ 4 le programme. 1 0 Dès que le programme rencontre une instruction input 2 l’exécution s’interrompt attendant la saisi d’une valeur. M On peut invoquer la fonction input() en laissant les parenthèses S vides. On peut aussi y placer en argument un message explicatif D destiné à l’utilisateur. M L e r è 1 >>> a=input() >>> a=input('Donnez la valeur de a ') 10 Donnez la valeur de a 10 >>> a >>> a '10' '10' Informatique1 2014-2015©Faculté des Sciences 46 Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 8. Entées – Sorties (suite) 5 1 0 2 ~ A. Instruction de Lecture (input) : (suite) Le type de la variable créée par la fonction input() renvoie toujours une chaine de caractères. Si vous souhaitez que l’utilisateur entre une valeur numérique, vous devrez donc convertir la valeur entrée (qui sera donc de toute façon de type string) en une valeur numérique du type qui vous convient, par l’intermédiaire des fonctions intégrées: M S o int()(si vous attendez un entier) 0 2 4 1 o float()(si vous attendez un réel) D o complex()(si vous attendez un complexe – sans l’utilisation d’un message explicatif) M L >>> A=int(input('A= ')) A= 10 >>> A 10 >>> B=float(input('B= ')) B= 5.25 >>> B 5.25 e r è 1 Informatique1 >>> C=complex(input()) 4+1j >>> C (4+1j) 2014-2015©Faculté des Sciences 47 Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 8. Entées – Sorties (suite) 5 B. Instruction d’Écriture (print) : 1 0 L’instruction d’écriture permet au programme 2 de communiquer des valeurs (ou des messages) à l’utilisateur en les affichant à l’écran ~ 4 (ou sur un fichier). 1 0 La fonction print permet d’afficher n’importe quel nombre de 2 valeurs fournies en arguments (c’est-a-dire entre les parenthèses). M Par défaut, ces valeurs seront séparées les unes des autres par S par un saut a la ligne. un espace, et le tout se terminera D M L e r è 1 >>> A=float(input('A= ')) A= 12.25 >>> B=float(input('B= ')) B= 5.35 >>> print(A,B) 12.25 5.35 48 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 8. Entées – Sorties (suite) 5 B. Instruction d’Écriture (print) : 1 0 On peut remplacer le séparateur par défaut (l’espace) par un 2 autre caractère quelconque (ou même ~ par aucun caractère), 4 grâce a l’argument « sep ». 1 0 2 M S D M L e r è 1 (suite) >>> print('Bonjour tous le monde') Bonjour tous le monde >>> print('Bonjour','tous','le monde') Bonjour tous le monde >>> print('Bonjour','tous','le monde',sep='+') Bonjour+tous+le monde >>> print('Bonjour','tous','le monde',sep="") Bonjourtousle monde >>> Informatique1 49 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 8. Entées – Sorties (suite) 5 B. Instruction d’Écriture (print) : 1 0 De même, on peut remplacer le saut à la2 ligne terminal avec ~ l’argument « end » 4 1 0 2 M S D M L e r è 1 (suite) >>> =============== RESTART ================= >>> a= 12 b= 3.05 a= 12b= 3.05 >>> Informatique1 50 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 8. Entées – Sorties (suite) 5 B. Instruction d’Écriture (print) : 1 0 Imposition d’un format d’affichage : 2 ~ Tous les types d’expressions figurant dans une instruction 4 1 print peuvent se voir imposer un gabarit (nombre de cases). 0 2 : La liste des principaux formats possibles M o %d : entier S o %f : réel D o %s : chaine de caractères M o %r : booléen L e r è 1 (suite) 51 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 8. Entées – Sorties (suite) 5 B. Instruction d’Écriture (print) : 1 0 Imposition d’un format d’affichage : 2 ~ 4 1 0 2 M S D M L e r è 1 (suite) (suite) >>> A=10 >>> print(A) 10 >>> print("%15d"%A) 10 >>> a=12.34 >>> b=1.024 >>> c=a/b >>> print(c) 12.05078125 >>> print("%5.2f"%c) 12.05 >>> Informatique1 2014-2015©Faculté des Sciences 52 Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 8. Entées – Sorties (suite) 5 B. Instruction d’Écriture (print) : 1 0 Imposition d’un format d’affichage : 2 ~ 4 1 0 2 M S D M L e r è 1 (suite) (suite) >>> vitesse=50 >>> print("La valeur de la vitesse est %d km/h"%vitesse) La valeur de la vitesse est 50 km/h >>> print("La valeur de la vitesse est %f km/h"%vitesse) La valeur de la vitesse est 50.000000 km/h >>> print("La valeur de la vitesse est %7.3f km/h"%vitesse) La valeur de la vitesse est 50.000 km/h >>> nom='vitesse' >>> print('la %s est égale à %f Km/h'%(nom,vitesse)) la vitesse est égale à 50.000000 Km/h >>> Informatique1 2014-2015©Faculté des Sciences 53 Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 9. Les Commentaires 5 1 0 2 Les commentaires sont des textes explicatifs destinés aux lecteurs ~ du programme et qui ne seront pas lus par la machine. 4 1 En Python les commentaires commencent toujours par le 0 caractère # jusqu'a la fin de la ligne. 2 M S D M L e r è 1 Comme tout langage évolué, Python permet la présence de commentaires. #Ceci est un commentaire Vitesse=50 #nous affectant la valeur 50 à la variable vitesse print(vitesse) #Affichage de la variable vitesse 54 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 10. 10.Fonctions Fonctions Prédéfinies – Notion de Module 5 1 0 2 ~ Les fonctions permettent de décomposer un programme complexe en une série de sous-programmes plus simples, lesquels peuvent à leur tour être décomposés en fragments plus petits, et ainsi de suite. 4 1 Il existe des fonctions intégrées au langage lui-même, comme la 0 fonction float() par exemple. 2 Ces fonctions sont associées à des fonctions intégrées à l’interface qu’on utilise, appelées aussi M builtins functions S Pour avoir la liste complète de ces fonctions et l’aide pour leur D utilisation, nous écrivons: M >>>Limport builtins; dir(builtins) e r >>> help(builtins) è 1 55 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 2 Les fonctions intégrées au langage sont relativement peu ~ nombreuses : ce sont seulement celles qui sont susceptibles d’être 4 1 utilisées très fréquemment. 0 Les autres sont regroupées dans 2des fichiers séparés que l’on appelle des modules . M Les modules sont des fichiers qui regroupent des ensembles de S fonctions. D Il existe un grand nombre de modules qui sont fournis d’office avec M Python. SouventLon essaie de regrouper dans un même module des ensembles de fonctions apparentées, que l’on appelle des e r bibliothèques. è 1 10. 10.Fonctions Fonctions Prédéfinies – Notion de Module (suite) Cependant il n’est pas possible d’intégrer toutes les fonctions dans le corps standard de Python, car il en existe une infinité. 56 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 2 ~ 10. 10.Fonctions Fonctions Prédéfinies – Notion de Module (suite) Le module math, par exemple, contient les définitions de nombreuses fonctions mathématiques telles que sinus, cosinus, tangente, racine carrée, etc. 4 1 Pour avoir la liste complète de ces fonctions et l’aide pour leur utilisation, nous écrivons: 0 >>> import math; dir(math) 2 >>> help(math) M S Pour pouvoir utiliser D ces fonctions, il vous suffit d’incorporer la M ligne suivante au début de votre programme : L fromemath import * r è 1 Cette ligne indique a Python qu’il lui faut inclure dans le programme courant toutes les fonctions (c’est la signification du symbole * ) du module math, lequel contient une bibliothèque de fonctions mathématiques préprogrammées. 57 Informatique1 2014-2015©Faculté des Sciences Semestre 2 LMD SM Université Abou Bekr Belkaïd – Tlemcen (Algérie) Page Facebook "Sciences Tlemcen" Cours 2: Règles Générales d’Écriture d’un Programme Python 5 1 0 2 ~ 10. 10.Fonctions Fonctions Prédéfinies – Notion de Module (suite) Exemple : >>> sqrt(25) 0 2 4 1 Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> M S* >>> from math import D >>> sqrt(25) M 5 L >>> e r è 1 sqrt(25) NameError: name 'sqrt' is not defined Informatique1 2014-2015©Faculté des Sciences 58 Semestre 2 LMD SM