Introduction au langage python Terminale S Spécialité ISN M. Lagrave - Lycée Beaussier - 2014 2015 Introduction au langage python 1 / 17
1 Présentation du langage python Développement La philosophie de python Description sommaire Pourquoi le langage python? 2 Comment ça marche? Installation Utilisation avec l interpréteur Utilisation de IDLE 3 Rudiments de programmation Calculs et opérations Division euclidienne et décimale La syntaxe des variables L affectation des variables Introduction au langage python 2 / 17
1 Présentation du langage python Introduction au langage python Présentation du langage python 3 / 17
1.1 Développement Introduction au langage python Présentation du langage python 4 / 17
1.1 Développement Le langage python est un langage objet interprété de haut niveau, développé en 1989 par Guido van Rossum. Introduction au langage python Présentation du langage python 4 / 17
1.1 Développement Le langage python est un langage objet interprété de haut niveau, développé en 1989 par Guido van Rossum. Introduction au langage python Présentation du langage python 4 / 17
1.1 Développement Le langage python est un langage objet interprété de haut niveau, développé en 1989 par Guido van Rossum. En 2005, il a été engagé par Google pour ne travailler que sur python. Introduction au langage python Présentation du langage python 4 / 17
1.1 Développement Le langage python est un langage objet interprété de haut niveau, développé en 1989 par Guido van Rossum. En 2005, il a été engagé par Google pour ne travailler que sur python. Les deux versions récentes de python : la 2.7 ; la 3.4. Introduction au langage python Présentation du langage python 4 / 17
1.2 La philosophie de python Introduction au langage python Présentation du langage python 5 / 17
1.2 La philosophie de python 1 >>> import this Introduction au langage python Présentation du langage python 5 / 17
1.2 La philosophie de python 1 >>> import this 1 The Zen of Python, by Tim Peters 2 3 Beautiful is better than ugly. 4 Explicit is better than implicit. 5 Simple is better than complex. 6 Complex is better than complicated. 7 Flat is better than nested. 8 Sparse is better than dense. 9 Readability counts. 10 Special cases aren t special enough to break the rules. 11 Although practicality beats purity. 12 Errors should never pass silently. 13 Unless explicitly silenced. 14 In the face of ambiguity, refuse the temptation to guess. 15 There should be one-- and preferably only one --obvious way to do it. 16 Although that way may not be obvious at first unless you re Dutch. 17 Now is better than never. 18 Although never is often better than *right* now. 19 If the implementation is hard to explain, it s a bad idea. 20 If the implementation is easy to explain, it may be a good idea. 21 Namespaces are one honking great idea -- let s do more of those! Introduction au langage python Présentation du langage python 5 / 17
1.3 Description sommaire Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... entièrement gratuit Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... entièrement gratuit portable, un même programme s exécute sur Linux, Windows, Mac Os... Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... entièrement gratuit portable, un même programme s exécute sur Linux, Windows, Mac Os... interprété, pas de phase de compilation qui traduit le programme en langage machine. Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... entièrement gratuit portable, un même programme s exécute sur Linux, Windows, Mac Os... interprété, pas de phase de compilation qui traduit le programme en langage machine. orienté objet (sans l imposé) Véhicule Avion Bateau Voiture... 2 roues 4 roues... Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... entièrement gratuit portable, un même programme s exécute sur Linux, Windows, Mac Os... interprété, pas de phase de compilation qui traduit le programme en langage machine. orienté objet (sans l imposé) de haut niveau, Véhicule Avion Bateau Voiture... 2 roues 4 roues... Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... Véhicule Avion entièrement gratuit Bateau portable, un même programme s exécute sur Voiture Linux, Windows, Mac Os... interprété, pas de phase de compilation qui traduit le programme en langage machine....... orienté objet (sans l imposé) de haut niveau, la syntaxe permet de programmer sans tenir compte des détails inhérents au fonctionnement de l ordinateur. 2 roues 4 roues Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... Véhicule Avion entièrement gratuit Bateau portable, un même programme s exécute sur Voiture Linux, Windows, Mac Os... 2 roues interprété, pas de phase de compilation qui 4 roues traduit le programme en langage machine....... orienté objet (sans l imposé) de haut niveau, la syntaxe permet de programmer sans tenir compte des détails inhérents au fonctionnement de l ordinateur. python possède un garbage collector, destruction automatique des objets créés lorsqu ils ne sont plus utilisés. Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... Véhicule Avion entièrement gratuit Bateau portable, un même programme s exécute sur Voiture Linux, Windows, Mac Os... 2 roues interprété, pas de phase de compilation qui 4 roues traduit le programme en langage machine....... orienté objet (sans l imposé) de haut niveau, la syntaxe permet de programmer sans tenir compte des détails inhérents au fonctionnement de l ordinateur. python possède un garbage collector, destruction automatique des objets créés lorsqu ils ne sont plus utilisés. structures de données complexes telles que des dictionnaires, éloignées des types numériques standards. Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... Véhicule Avion entièrement gratuit Bateau portable, un même programme s exécute sur Voiture Linux, Windows, Mac Os... 2 roues interprété, pas de phase de compilation qui 4 roues traduit le programme en langage machine....... orienté objet (sans l imposé) de haut niveau, la syntaxe permet de programmer sans tenir compte des détails inhérents au fonctionnement de l ordinateur. python possède un garbage collector, destruction automatique des objets créés lorsqu ils ne sont plus utilisés. structures de données complexes telles que des dictionnaires, éloignées des types numériques standards. modulaire, la définition du langage est très succincte et autour de ce noyau concis, de nombreuses librairies ou modules ont été développées. Introduction au langage python Présentation du langage python 6 / 17
1.3 Description sommaire Le langage python est... Véhicule Avion entièrement gratuit Bateau portable, un même programme s exécute sur Voiture Linux, Windows, Mac Os... 2 roues interprété, pas de phase de compilation qui 4 roues traduit le programme en langage machine....... orienté objet (sans l imposé) de haut niveau, la syntaxe permet de programmer sans tenir compte des détails inhérents au fonctionnement de l ordinateur. python possède un garbage collector, destruction automatique des objets créés lorsqu ils ne sont plus utilisés. structures de données complexes telles que des dictionnaires, éloignées des types numériques standards. modulaire, la définition du langage est très succincte et autour de ce noyau concis, de nombreuses librairies ou modules ont été développées. à syntaxe positionnelle, l indentation fait partie du langage. Introduction au langage python Présentation du langage python 6 / 17
1.4 Pourquoi le langage python? Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients vitesse d exécution plus lente que le langage C++ Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients vitesse d exécution plus lente que le langage C++ moins utilisé que le C++ ou le Java Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients vitesse d exécution plus lente que le langage C++ moins utilisé que le C++ ou le Java Avantages Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients vitesse d exécution plus lente que le langage C++ moins utilisé que le C++ ou le Java Avantages syntaxe plus simple que celle de Java ou du C++ Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients vitesse d exécution plus lente que le langage C++ moins utilisé que le C++ ou le Java Avantages syntaxe plus simple que celle de Java ou du C++ langage plus simple à apprendre Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients vitesse d exécution plus lente que le langage C++ moins utilisé que le C++ ou le Java Avantages syntaxe plus simple que celle de Java ou du C++ langage plus simple à apprendre amélioration significative des temps de développement Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients vitesse d exécution plus lente que le langage C++ moins utilisé que le C++ ou le Java Avantages syntaxe plus simple que celle de Java ou du C++ langage plus simple à apprendre amélioration significative des temps de développement pas de déclaration de types, de variables,... Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients vitesse d exécution plus lente que le langage C++ moins utilisé que le C++ ou le Java Avantages syntaxe plus simple que celle de Java ou du C++ langage plus simple à apprendre amélioration significative des temps de développement pas de déclaration de types, de variables,... le code en python est Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients vitesse d exécution plus lente que le langage C++ moins utilisé que le C++ ou le Java Avantages syntaxe plus simple que celle de Java ou du C++ langage plus simple à apprendre amélioration significative des temps de développement pas de déclaration de types, de variables,... le code en python est 3 à 5 fois plus court que le code Java équivalent Introduction au langage python Présentation du langage python 7 / 17
1.4 Pourquoi le langage python? Inconvénients vitesse d exécution plus lente que le langage C++ moins utilisé que le C++ ou le Java Avantages syntaxe plus simple que celle de Java ou du C++ langage plus simple à apprendre amélioration significative des temps de développement pas de déclaration de types, de variables,... le code en python est 3 à 5 fois plus court que le code Java équivalent 3 à 10 fois plus court que le code C++ correspondant Introduction au langage python Présentation du langage python 7 / 17
2 Comment ça marche? Introduction au langage python Comment ça marche? 8 / 17
2.1 Installation Introduction au langage python Comment ça marche? 9 / 17
2.1 Installation Pour une installation sur son propre ordinateur, plusieurs solutions possibles pour chaque système d exploitation : Introduction au langage python Comment ça marche? 9 / 17
2.1 Installation Pour une installation sur son propre ordinateur, plusieurs solutions possibles pour chaque système d exploitation : avec GNU/Linux ou Mac, python est souvent déjà installé ; avec Windows à l adresse http://www.python.org/download/. Introduction au langage python Comment ça marche? 9 / 17
2.1 Installation Pour une installation sur son propre ordinateur, plusieurs solutions possibles pour chaque système d exploitation : avec GNU/Linux ou Mac, python est souvent déjà installé ; avec Windows à l adresse http://www.python.org/download/. Quel que soit le système d exploitation, on peut utiliser python dans un terminal ou avec IDLE. Introduction au langage python Comment ça marche? 9 / 17
2.2 Utilisation avec l interpréteur Introduction au langage python Comment ça marche? 10 / 17
2.2 Utilisation avec l interpréteur On s en sert un peu comme une calculatrice. Le symbole >>> signifie qu on a la main. Introduction au langage python Comment ça marche? 10 / 17
2.3 Utilisation de IDLE Introduction au langage python Comment ça marche? 11 / 17
2.3 Utilisation de IDLE Plus pratique que l interpréteur, on peut utiliser IDLE qui spécialement dédié à python (téléchargement automatique). Introduction au langage python Comment ça marche? 11 / 17
2.3 Utilisation de IDLE Plus pratique que l interpréteur, on peut utiliser IDLE qui spécialement dédié à python (téléchargement automatique). Un script (programme) est un fichier texte, enregistré avec l extension.py ; Introduction au langage python Comment ça marche? 11 / 17
2.3 Utilisation de IDLE Plus pratique que l interpréteur, on peut utiliser IDLE qui spécialement dédié à python (téléchargement automatique). Un script (programme) est un fichier texte, enregistré avec l extension.py ; # ouvre une ligne de commentaires (pas de symbole de fin) ; Introduction au langage python Comment ça marche? 11 / 17
2.3 Utilisation de IDLE Plus pratique que l interpréteur, on peut utiliser IDLE qui spécialement dédié à python (téléchargement automatique). Un script (programme) est un fichier texte, enregistré avec l extension.py ; # ouvre une ligne de commentaires (pas de symbole de fin) ; on exécute le script par F5 ou Run du menu déroulant ; Introduction au langage python Comment ça marche? 11 / 17
2.3 Utilisation de IDLE Plus pratique que l interpréteur, on peut utiliser IDLE qui spécialement dédié à python (téléchargement automatique). Un script (programme) est un fichier texte, enregistré avec l extension.py ; # ouvre une ligne de commentaires (pas de symbole de fin) ; on exécute le script par F5 ou Run du menu déroulant ; s il y a problème de syntaxe, un message d erreur s affiche au lancement du programme. Introduction au langage python Comment ça marche? 11 / 17
3 Rudiments de programmation Introduction au langage python Rudiments de programmation 12 / 17
3.1 Calculs et opérations On peut utiliser python comme calculatrice : Introduction au langage python Rudiments de programmation 13 / 17
3.1 Calculs et opérations On peut utiliser python comme calculatrice : 1 >>> 2+5 2 7 3 >>> 8-2 # les espaces sont optionnels 4 6 5 >>> 6 * 7 6 42 7 >>> 5 ** 3 8 125 Introduction au langage python Rudiments de programmation 13 / 17
3.1 Calculs et opérations On peut utiliser python comme calculatrice : 1 >>> 2+5 2 7 3 >>> 8-2 # les espaces sont optionnels 4 6 5 >>> 6 * 7 6 42 7 >>> 5 ** 3 8 125 inutile d écrire le signe «=», il suffit d appuyer sur la touche «ENTER» ; Introduction au langage python Rudiments de programmation 13 / 17
3.1 Calculs et opérations On peut utiliser python comme calculatrice : 1 >>> 2+5 2 7 3 >>> 8-2 # les espaces sont optionnels 4 6 5 >>> 6 * 7 6 42 7 >>> 5 ** 3 8 125 inutile d écrire le signe «=», il suffit d appuyer sur la touche «ENTER» ; les règles de priorité sont les mêmes qu en mathématiques, on les mémorise à l aide de l acronyme PEMDAS : Introduction au langage python Rudiments de programmation 13 / 17
3.1 Calculs et opérations On peut utiliser python comme calculatrice : 1 >>> 2+5 2 7 3 >>> 8-2 # les espaces sont optionnels 4 6 5 >>> 6 * 7 6 42 7 >>> 5 ** 3 8 125 inutile d écrire le signe «=», il suffit d appuyer sur la touche «ENTER» ; les règles de priorité sont les mêmes qu en mathématiques, on les mémorise à l aide de l acronyme PEMDAS : P pour parenthèses. Introduction au langage python Rudiments de programmation 13 / 17
3.1 Calculs et opérations On peut utiliser python comme calculatrice : 1 >>> 2+5 2 7 3 >>> 8-2 # les espaces sont optionnels 4 6 5 >>> 6 * 7 6 42 7 >>> 5 ** 3 8 125 inutile d écrire le signe «=», il suffit d appuyer sur la touche «ENTER» ; les règles de priorité sont les mêmes qu en mathématiques, on les mémorise à l aide de l acronyme PEMDAS : P pour parenthèses. E pour exposants. Introduction au langage python Rudiments de programmation 13 / 17
3.1 Calculs et opérations On peut utiliser python comme calculatrice : 1 >>> 2+5 2 7 3 >>> 8-2 # les espaces sont optionnels 4 6 5 >>> 6 * 7 6 42 7 >>> 5 ** 3 8 125 inutile d écrire le signe «=», il suffit d appuyer sur la touche «ENTER» ; les règles de priorité sont les mêmes qu en mathématiques, on les mémorise à l aide de l acronyme PEMDAS : P pour parenthèses. E pour exposants. M et D pour multiplication et division, qui ont la même priorité. Introduction au langage python Rudiments de programmation 13 / 17
3.1 Calculs et opérations On peut utiliser python comme calculatrice : 1 >>> 2+5 2 7 3 >>> 8-2 # les espaces sont optionnels 4 6 5 >>> 6 * 7 6 42 7 >>> 5 ** 3 8 125 inutile d écrire le signe «=», il suffit d appuyer sur la touche «ENTER» ; les règles de priorité sont les mêmes qu en mathématiques, on les mémorise à l aide de l acronyme PEMDAS : P pour parenthèses. E pour exposants. M et D pour multiplication et division, qui ont la même priorité. A et S, pour addition et soustraction, qui ont la même priorité. Introduction au langage python Rudiments de programmation 13 / 17
3.1 Calculs et opérations On peut utiliser python comme calculatrice : 1 >>> 2+5 2 7 3 >>> 8-2 # les espaces sont optionnels 4 6 5 >>> 6 * 7 6 42 7 >>> 5 ** 3 8 125 inutile d écrire le signe «=», il suffit d appuyer sur la touche «ENTER» ; les règles de priorité sont les mêmes qu en mathématiques, on les mémorise à l aide de l acronyme PEMDAS : P pour parenthèses. E pour exposants. M et D pour multiplication et division, qui ont la même priorité. A et S, pour addition et soustraction, qui ont la même priorité. si deux opérateurs ont la même priorité, l évaluation est effectuée de gauche à droite. Introduction au langage python Rudiments de programmation 13 / 17
3.2 Division euclidienne et décimale À partir de la version 3.0 de python, «/» est la division décimale et «//» est la division euclidienne. Introduction au langage python Rudiments de programmation 14 / 17
3.2 Division euclidienne et décimale À partir de la version 3.0 de python, «/» est la division décimale et «//» est la division euclidienne. 1 >>> 9 / 2 # quotient décimal de 9 par 2 2 4.5 3 >>> 9//2 # quotient dans la division euclidienne de 9 par 2 4 4 Introduction au langage python Rudiments de programmation 14 / 17
3.3 La syntaxe des variables En python, les noms de variables doivent obéir à quelques règles simples : Introduction au langage python Rudiments de programmation 15 / 17
3.3 La syntaxe des variables En python, les noms de variables doivent obéir à quelques règles simples : un nom de variable doit toujours commencer par une lettre. Introduction au langage python Rudiments de programmation 15 / 17
3.3 La syntaxe des variables En python, les noms de variables doivent obéir à quelques règles simples : un nom de variable doit toujours commencer par une lettre. seules les lettres ordinaires sont autorisées. Introduction au langage python Rudiments de programmation 15 / 17
3.3 La syntaxe des variables En python, les noms de variables doivent obéir à quelques règles simples : un nom de variable doit toujours commencer par une lettre. seules les lettres ordinaires sont autorisées. la casse est significative. Introduction au langage python Rudiments de programmation 15 / 17
3.3 La syntaxe des variables En python, les noms de variables doivent obéir à quelques règles simples : un nom de variable doit toujours commencer par une lettre. seules les lettres ordinaires sont autorisées. la casse est significative. certains mots sont réservés, ils ne peuvent donc pas servir de nom de variable. Introduction au langage python Rudiments de programmation 15 / 17
3.3 La syntaxe des variables En python, les noms de variables doivent obéir à quelques règles simples : un nom de variable doit toujours commencer par une lettre. seules les lettres ordinaires sont autorisées. la casse est significative. certains mots sont réservés, ils ne peuvent donc pas servir de nom de variable. and assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while yield Un message d erreur et la coloration du mot en orange vous préviennent de l utilisation d un mot réservé. Introduction au langage python Rudiments de programmation 15 / 17
3.4 L affectation des variables elle se fait avec le symbole «=» Introduction au langage python Rudiments de programmation 16 / 17
3.4 L affectation des variables elle se fait avec le symbole «=» 1 >>> x = 5 # définition 2 >>> x 3 5 4 >>> phrase = "bonjour tout le monde" # définition 5 >>> phrase 6 bonjour tout le monde Introduction au langage python Rudiments de programmation 16 / 17
3.4 L affectation des variables elle se fait avec le symbole «=» 1 >>> x = 5 # définition 2 >>> x 3 5 4 >>> phrase = "bonjour tout le monde" # définition 5 >>> phrase 6 bonjour tout le monde le nom est toujours en premier ; Introduction au langage python Rudiments de programmation 16 / 17
3.4 L affectation des variables elle se fait avec le symbole «=» 1 >>> x = 5 # définition 2 >>> x 3 5 4 >>> phrase = "bonjour tout le monde" # définition 5 >>> phrase 6 bonjour tout le monde le nom est toujours en premier ; une affectation multiple est possible : Introduction au langage python Rudiments de programmation 16 / 17
3.4 L affectation des variables elle se fait avec le symbole «=» 1 >>> x = 5 # définition 2 >>> x 3 5 4 >>> phrase = "bonjour tout le monde" # définition 5 >>> phrase 6 bonjour tout le monde le nom est toujours en premier ; une affectation multiple est possible : 1 >>> x, y, z = 2.4, 8, -5 # définition 2 >>> x = y + z # modification Introduction au langage python Rudiments de programmation 16 / 17
FIN Introduction au langage python Rudiments de programmation 17 / 17