0% ont trouvé ce document utile (0 vote)
10 vues22 pages

Resume Python

Le document présente une introduction au langage de programmation Python, abordant les langages de programmation en général, les spécificités de Python, et les concepts fondamentaux tels que les variables, les objets et le typage dynamique. Il explique également les différences entre compilation et interprétation, ainsi que les avantages et inconvénients des langages compilés et interprétés. Enfin, il couvre des notions pratiques comme les types de données, les opérateurs, et les commentaires dans le code.

Transféré par

oceaneessamba6
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues22 pages

Resume Python

Le document présente une introduction au langage de programmation Python, abordant les langages de programmation en général, les spécificités de Python, et les concepts fondamentaux tels que les variables, les objets et le typage dynamique. Il explique également les différences entre compilation et interprétation, ainsi que les avantages et inconvénients des langages compilés et interprétés. Enfin, il couvre des notions pratiques comme les types de données, les opérateurs, et les commentaires dans le code.

Transféré par

oceaneessamba6
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 22

SUP’PTIC Langage de Programmation-Python

Table des matières

I. Les langages de programmation 1

II. Généralités sur le langage Python 3

III. Notions de variables, d’objets et de typage dynamique 4

IV. COMMENTAIRES 7

V. Fonction input() et Modules 8

VI. Définir votre fonction 9

VII. Condition et Boucles 11

VIII. Structures de données 13

IX. Manipuler des fichiers 18

X. Des interfaces graphiques avec Tkinter 21

I. Les langages de programmation


1) Langages machines
L'ordinateur ne sait exécuter qu'un nombre limité d'opérations élémentaires, dictées par des instructions de programme et
codées en binaire. On traduit cela en disant que l'ordinateur ne « comprend » que le langage machine.

Exemple en langage binaire x86 d'un programme calculant et 4+5


01010101 10001001 11100101 10000011 11101100 00010000 11000111 01000101 11110100 00000100 00000000 00000000
11000111 01000101 11111000 00000101 00000000 00000000 00000000 10001011 01000101 11111000 10001011 01010101
11110100 10001101 00000100 00000010 10001001 01000101 11111100 10001011 01000101

Comme le binaire est difficilement lisible, voici la représentation du même programme sous la représentation hexadécimale:

55 89 e5 83 ec 10 c7 45 f4 04 00 00 00 c7 45 f8 05 00 00 00 8b 45 f8 8b 55 f4 8d 04 02 89 45 fc 8b 45 fc c9 c3

2) Langage assembleur
Supposons, de façon un peu simplifiée, que l'on soit en présence d'un ordinateur pour lequel l'instruction machine
: 0101010011011010

1
SUP’PTIC Langage de Programmation-Python

Signification: additionner (code opération 0101) les valeurs situées aux adresses 010011 et 011010.
Nous pouvons choisir d'exprimer cela sous une forme un peu plus parlante, par exemple : ADD A, B Un
tel programme doit réaliser les tâches :
• faire correspondre un code opération à un symbole mnémonique ;
• doit être capable de décider des adresses à attribuer à chacun des symboles tels que A et B ;
Dans tous les cas, l'emploi de l'assembleur nécessite une bonne connaissance du fonctionnement de l'ordinateur utilisé. On
exprime souvent cela en disant que ce langage est orienté machine. Réaliser un programme dans ce langage nécessite de
penser davantage à la machine qu'au problème à résoudre.

3) Langages évolués : de “haut niveau”


Très vite est apparu l'intérêt de définir des langages généraux utilisables sur n'importe quel ordinateur et orientés problème,
autrement dit permettant aux utilisateurs de penser davantage à leur problème qu'à la machine. C'est ainsi que sont apparus
de très nombreux langages que l'on a qualifiés d'évolués: Fortran, Basic, Cobol, Pascal, ADA, C, Visual Basic, Delphi, C++,
Java, C#, PHP, Python...
Quel que soit le langage évolué utilisé, il est nécessaire, d'en réaliser, par programme, la traduction en langage machine.
Pour cela, il existe deux techniques principales : la compilation et l'interprétation.

4) Compiltation / Interpretation
a) La compilation consiste à traduire globalement l'ensemble du programme en langage évolué (qu'on nomme
souvent programme source) en un programme en langage machine (qu'on nomme souvent programme objet),
en utilisant un programme nommé compilateur.

b) L'interprétation consiste à traduire chaque instruction du programme source, avant de l'exécuter, à l'aide d'un
programme nommé interpréteur. Dans ce cas, il n'existe plus de programme objet complet et, à un instant
donné, on trouve en mémoire, à la fois le programme source et le programme interpréteur

Par ailleurs, il existe une technique intermédiaire entre compilation et interprétation qui consiste à traduire
globalement un programme source (compilation) en un langage intermédiaire défini comme étant commun à
un ensemble de machines, et à interpréter le résultat à l'aide d'un programme approprié. Cette technique avait
été employée avec Pascal et elle l'est actuellement avec Java et C#.

Langage C C++ Java jsp Matlab PHP Python LISP

Compilé/I compilé compilé intermédi compilé interpreté interpreté interpre intermé


nterpreté aire té diaire

c) Les avantages et désavantages

Langages Avantages Désavantages Applications

2
SUP’PTIC Langage de Programmation-Python

Compilés -plus de lignes de code -SE


- plus durs à apprendre -Jeux vidéos
-Plus rapide -gestion de concept complexe
- code compilé dépend de
la plateforme

Interprétés - plus grande flexibilité -Plus lent -Prototypes

- plus simple à utiliser

II. Généralités sur le langage Python


1. Quelles sont les principales raisons qui poussent à apprendre Python ?

• Utilisé par des sites web pionniers : tels que Microsoft, YouTube, Drop Box,... Python a une forte demande sur le
marché
• Richesse en outils : de nombreux IDE sont dédiés au lanagage Python : Pycharm, Wing, PyScripter, Spyder...
• Python est orienté objet : la puissance du langage python est fortement marquée par son aspet orienté objet, qui
permet la création et la réutilisation de codes. En raison de cette possibilité de réutilisation, le travail est effectué
efficacement et réduit beaucoup de temps. Au cours des dernières années, la programmation orientée objet s’est
rapporté non seulement à des classes et des objets, mais à de nombreuses bibliothèques et frameworks. Python a son
tour a connu dans ce contexte un grand essor : des dizaines de milliers de bibliothèques sont disponibles à l’aide de
l’outil pip de gestion des packages. Simplicité et lisibilité du code : Python a une syntaxe simple qui le rend
approprié pour apprendre la programmation en tant que premier langage. L’apprentissage est plus fluide et rapide que
d’autres langages tels que Java, qui nécessite très tôt une connaissance de la programmation orientée objet ou du C/C++
qui nécessite de comprendre les pointeurs.
Néanmoins, il est possible d’en apprendre davantage sur la programmation orientée objet en Python lorsqu’il est temps.
Par conséquent, Python peut être utilisé comme prototype et peut être implémenté dans un autre langage de
programmation après avoir testé le code.
• Python est open source donc gratuit : Python étant un langage de programmation open source, il est gratuit et permet
une utilisation illimitée. Avec cette licence opensource, il peut être modifié, redistribué et utilisée commercialement.
• Python est multiplateforme : Python peut être exécuté sur tous les principaux systèmes d’exploitations, tels que :
Mac OS, Microsoft Windows, Linus et Unix...
• Python est très puissant en terme de production : la puissance du langage Python a été démontré sur le terrain du
développement :
 Développement Web, en utilisant les frameworks Django, Flask, Pylons 
Science des données et visualisation à l’aide de Numpy, Pandas et
Matplotlib  Applications de bureau avec Tkinter, PyQt, Gtk,
wxWidgets et bien d’autres.  Applications mobiles utilisant Kivy ou
BeeWare
 Education : Python est un excellent langage pour apprendre l’algorithmique et
la programmation !
Installation: Python pour Win / Mac / Unix / Linux est disponible sur www.python.org

2. Utilisation
Python peut être utilisé en deux modes : a)
Le mode Interactif
Les instructions sont tapées dans l’interpréteur de ligne de commande python (Python Shell) et exécutées directement. Vous
pouvez le faire depuis Unix, DOS, ou tout autre système qui vous fournit une fenêtre de l'interpréteur de ligne de commande

3
SUP’PTIC Langage de Programmation-Python

ou un shell (>>>). Le codage avec le shell est parfait pour l'apprentissage du langage et pour tester les modules b) mode
script
Un script Python peut être saisie dans un fichier d’extension .py et exécutée avec l’interpréteur python (Python Shell)

III. Notions de variables, d’objets et de typage dynamique


Contrairement à d’autres langages de programmation, Python n’a pas de commande pour déclarer une variable. Une variable
est créée au moment où vous lui affectez une valeur.
1) Notion d’objet
En Python, tout est un objet. Pour manipuler les objets dans Python, il faut leur donner un nom par l’intermédiaire de
variables. Les variables référencent les objets.
Dans un programme informatique, un objet est un morceau de code qui va contenir des données. Mais il va également
contenir un ensemble de mécanismes qui permettent de manipuler ces données qu’on appelle méthodes.
Les objets ont tous un type. Le type est le comportement par défaut qui va être défini pour les objets. Par conséquent, le
type permet de définir les données et les méthodes qui vont être associées à cet objet. a) Nommer / Référencer les objets
Pour référencer un objet, il faut affecter un objet à un nom de variable avec une notation que l’on appelle la notation
d’affectation. => note
=1
Un nom de variable en python peut être défini en lettres minuscules, en majuscules, avec les entiers de 0 à 9 et le caractère
_ (underscore). Un nom de variable peut commencer par une lettre, par un underscore mais pas par un chiffre.
Exemple :
Saisir les variables suivantes et remplir le tableau : var; nom_de_variable; _nom_variable;
2ème_nom_variable; nom-variable; Prénom_garçon; 𝜷𝟏

Nom de variable non autorisés Autorisés pas recommandé


autorisés

NB : Un nom de variable prend en compte la casse : ID ≠ id.


Il est important de donner des noms explicites car cela participe à la documentation automatique du code.

2) Mots clés
Python possède des mots clé qui ne peuvent pas être utilisés comme nom de variable. Il s’agit de : 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

3) Le typage dynamique
L’espace de variable, s’appelle un espace de nommage.
Pour l’instruction a = 9, Python va réaliser 3 opérations :
 Python crée l’entier 3 dans l’espace des objets
 Python crée une variable a dans l’espace des variables
 Python crée une référence entre la variable a et l’entier 3

4
SUP’PTIC Langage de Programmation-Python

Si par la suite on crée une autre variable a = ‘abc’, Python fait les mêmes opérations mais il déréférence en plus l’objet 9
pour que la variable a référence désormais l’objet ‘abc’.
La fonction type() est une fonction built-in, c’est-à-dire prédéfinie dans Python, qui donne le type d’une variable ou d’un
objet.

Exercice :
Commandes Résultat Commentaire
type(44)
type(44.0)
type(‘44’)
isinstance(23, int)

La fonction isinstance() permet de savoir si un objet est bien d’un type donné.

4) Les types élémentaires


a) Les chaînes de caractères
Une chaîne de caractères (string en anglais) est un objet de la classe (ou de type) str. Une chaîne de caractères peut être
définie avec les guillemets ("), l’apostrophe ( ‘ ) ou avec triple guillemets(" " ")

Exercice : Affichez les chaines a, b, c et d ainsi que leur type

Chaine Instructions à tapper


a="je suis une chaine"
b=’je suis une chaine’
C= " " "ecrire sur plusieurs
lignes" " "

d= ‘l’apostrophe’

Affectation
Tapper les instructions et commenter

Instructions Commentaire

i=3

a, k=True, 3.14159

k=r=2.15

x=complex(3,4)

5
SUP’PTIC Langage de Programmation-Python

print(x)
Exercice : Écrire un programme qui permute le contenu des variables x et y

5) Les nombres et les booléens

TYPE entiers (32 bits): int réels (64 bits): float complexes: complex booléens: bool

EX 4. 5.1 1.23e-6 3+4j 3+4j True False

On peut parfois transformer une donnée d'un certain type, en une donnée d'un autre type. Cela s'appelle le transtypage (ou
cast en anglais).
• int() convertit en entier (l’opération s’appelle la troncation)
• float() convertit en float
• complex() convertit en complex • str() convertir en chaine de caractère Exercice :

Donnée de départ Type de donnée de départ instruction à taper type du résultat obtenu
et/ou commentaire

44.0 Int(44.0)

44.5 Int(44.5)

44 float(44)

45 float(45)

‘44’ int(‘44’)

’44.0’ float(‘44’)

’44.5’ int(’44.5’)

‘bonjour’ int(‘bonjour’)
Exercices : Déclaration et initialisation de variables et types Executez

les instructions suivantes et notez vos remarques

Instructions remarques

>>> pi=3,14 >>>print(type(pi))

>>>pi=3.14 >>>print(type(pi))

6
SUP’PTIC Langage de Programmation-Python

>>>s=’exemple de chaîne de >>>type(s)


caractères’

>>>2+’1.5’ >>> 2+eval(’1.5’)


6) Opérateurs
a. addition, soustraction, multiplication, division : +, -, *, \, \%,
b. puissance, valeur absolue : **, pow, abs, \dots
c. comparaison : ==, is, !=, not, >, >=, <, <=
d. logique : or, and, not
instruction à taper résultat obtenu + commentaire ou explication
1==3
1 != 3
(3+7) = = (5*2)
(2 == 15) or (3>2)
1 < 4 < 15
not True or True and False
bool(0)
bool(None)
7) Opérateur de décalage
instruction à taper résultat obtenu + commentaire ou explication
E=77
Bin(E)
E>>1
F=32
F<<1

Conversion entre les bases : bin(x) ; oct(x) ; hex(x)

IV. COMMENTAIRES
 Les commentaires sur une seule ligne s’introduisent en insérrant le symbol # avant le texte.
 Les commentaires sur plusieurs lignes s’introduisent au sein des triples quotes : """ ...."""
Exemples :
a) # Ceci est un commentaire
b) " " " ceci est un commentaire
sur deux lignes " " "

7
SUP’PTIC Langage de Programmation-Python

V. Fonction input() et Modules


1) Les fonctions d'entrée / sortie
Afin que l'utilisateur puisse entrer des données dans les variables du programme et visualiser les résultats calculés par le
programme, le programmeur utilise des fonctions d'entrée et de sortie
i. Affichage d’une Variable
La fonction print est une fonction de sortie : elle affiche à l'écran (à l'attention de l'utilisateur) une donnée ou le
contenu d'une variable.
Exemple. affichage variable

Exemple. affichage avec un texte explicatif

ii. Fonction d’entrée


. La fonction input est une fonction d'entrée : le programme affiche une question à l'attention de l'utilisateur et attend que
l'utilisateur tape sur des touches du clavier en réponse à cette question. L'utilisateur doit terminer sa saisie par la touche “
Entrée ” pour que le programme continue son exécution. La suite de caractères saisie par l'utilisateur est récupérée par le
programme où elle peut être utilisée. Elle est généralement affectée à une variable du programme. Exercice 5.1: tapez les
instructions suivantes.

instruction à taper Commentaires


numero=input("entrez un chiffre entre 1 et 5 : ")
type(numero)
numero = numero + 1
numero = int(numero)
type(numero)
numero = numero + 1

Exercice 5.2 : Écrire un programme qui demande le prix hors taxe d’un article, calcule et affiche son prix TTC selon la
formule: pttc=pht*1.20

2) Importer des modules et utiliser l'aide (help)


Un module est un fichier python qui finit en .py. Lorsqu’on importe ce fichier, cela crée un objet module. Un module
contient un certain nombre de fonctions, d’opérations à effectuer. L’idée des modules, c’est de mettre des opérations
similaires dans le même fichier. Un module est une sorte de boîte à outil que l’on importe quand on a besoin de l’ouvrir.

Exercice 5.3 : Lancez la fenêtre de l'interpréteur python et tapez les instructions suivantes dans l’ordre:
Commandes Résultat Commentaires
sqrt(25)
import math

8
SUP’PTIC Langage de Programmation-Python

sqrt(25)
help(sqrt)

Exercice 5.4 : Lancez la fenêtre de l'interpréteur python et tapez help(math).


Dans la liste qui s'affiche, cherchez les fonctions : cos, acos, tan, atan, sqrt, pi, exp, log, log10. Répondez aux questions
suivantes :
• à quoi correspondent les fonctions acos, asin, atan ?
• à quoi correspondent les fonctions cosh, sinh ?
• à quoi sert la fonction sqrt ?
• quelle est la fonction qui donne le logarithme népérien ?
• quelle est la différence entre e et exp ? ...
Exercice 5.6 :
• Écrire le programme qui demande à l’utilisateur d’entrer la valeur du rayon d’un cercle et qui calcule sa surface.
Écrire l’approximation de sous forme de fraction. (Utiliser le module fractions)

3) Importation de module

Commande role Exemple


import nom_module Chargement d’un module >>> import math

import nom_module as nom Nommer un module >>> import math as m


>>> m.sqrt(2)
from nom_module import * Chargement de l’intégralité du >>> from math import *
module

from nom_module import nom_fonction Chargement d’une ou plusieurs >>> from random
fonctions d’un module import randint >>> randint(0,10)

dir(nom_module) Affichages des fonctions >>> dir(fractions)


du
module

help(nom_module.fonction) ou Aide sur une fonction ou un >>> help(m.ceil)


help(nom_module) module >>> help(math)

VI. Définir votre fonction


A. Définition, paramètres

9
SUP’PTIC Langage de Programmation-Python

Les fonctions ou sous-programmes permettent de faire la même chose sans avoir à recopier le code informatique plusieurs
fois dans le programme. Elles acceptent plusieurs paramètres ou aucun, elles peuvent retourner plusieurs résultats ou aucun.
Leur déclaration suit le schéma suivant :

Exemple : Écrire la fonction carrée () qui calcule le carré d’un nombre, écrire le code pour tester ce programme.
L’instruction return n’est pas obligatoire mais si elle est présente à un ou plusieurs endroits, aucune autre instruction de la
fonction ne sera exécutée après l’exécution de la première instruction return rencontrée lors de l’exécution de la fonction.
Les fonctions peuvent être récursives et inclure des paramètres par défaut : ces paramètres reçoivent une valeur même si
celle-ci n’est pas précisée lors de l’appel.

1
0
SUP’PTIC Langage de Programmation-Python

4) Fonctions avec arguments variables


Ecrire une fonction qui calcule la somme des entiers passés en paramètres.

B. Mot-clé lambda
Le mot-clé lambda permet de définir une fonction anonyme, c’est-à-dire sans nom. lambda est utilisée lorsqu’une fonction
est à fournir dans une expression et permet d’éviter de la définir explicitement. Cette fonction doit cependant se limiter à
une seule expression.

def fonction (x) : return x % 2 li = [ 3,4,5]


li = [ 3,4,5] li2 = map (lambda x : x%2, li) print
li2 = map (fonction, li) Et
(list(li2)) # affiche [ 1, 0, 1 ]
print (list(li2)) # affiche [ 1, 0, 1 ]

Sont des programmes qui font la même chose.


Exercice 6.1 : Écrire une fonction est_pair telle que est_pair(n) renvoie True ou False selon que l’entier n est pair ou
impair.

C. Différence entre print et return

A la fin d’un calcul, afin de voir son résultat, on utilise souvent l’instruction print. On peut se demander alors si à la fin de
chaque fonction, il ne faudrait pas utiliser l’instruction print. A quoi servirait alors l’instruction return?

Tapez le code suivant : def double (x) : return 2*x


a=double(3.5) print
(a)

VII. Condition et Boucles


A. Les structures conditionnelles
Les tests permettent d’exécuter telle ou telle instruction selon la valeur d’une condition. Le test est suivi de : et les
instructions dépendant de ce test sont indentées (décalées vers la droite).

1) Les structures conditionnelles simples

Syntaxe :
If condition:
intruction

Exercice 7.1 : Écrire un programme qui demande un nombre et affiche « plus grand » si le nombre entré est plus petit que
19.

Syntaxe : If condition:
Instruction 1
else:
instruction 2

1
SUP’PTIC Langage de Programmation-Python

Exercice 7.2 : Réécrire la fonction est_pair en utilisant l’instruction conditionnelle


Exercice 7.3 Écrire la fonction qui calcule le factoriel d’un entier de manière récursive

 Un bloc est défini par une indentation obtenue en décalant le début des instructions vers la droite grâce à des espaces
en début de ligne (habituellement 4 espaces mais ce n’est pas obligatoire).
 Toutes les instructions d’un même bloc doivent être indentées exactement au même niveau (c’est-à-dire décalées à
droite d’un même nombre d’espaces).
 L’irrespect de l’indentation génère une erreur.

2) Les structures conditionnelles généralisées

Syntaxe If expression 1:
Instruction 1
elif expression 2:
instruction 2 elif
expression 3:
instruction 3
else:
instruction 4
Exercice 7.4 : Années bissextiles
Une année est bissextile, c’est-à-dire qu’elle comporte 366 jours au lieu de 365 si elle est divisible par 4 sauf tous les
centenaires (1700, 1800, 1900, ...). Cependant tous les multiples de 400 sont quand même bissextiles. Écrire une fonction
bissextile(n) qui renvoie True ou False selon que l’année n est bissextile ou non.

B. Boucles

Il y a deux types de boucles, la boucle for parcourt un ensemble, la boucle while continue tant qu’une condition
est vraie. Comme pour les tests, une boucle est suivie du symbole : (deux points), les lignes incluses dans cette
boucle sont indentées à moins qu’il n’y en ait qu’une seule, auquel cas elle peut être écrite après le symbole :
sur la même ligne.

 Syntaxe: for

for indice in sequence:


bloc d’intructions
Exercice 7.5 Écrire une version itértive de la fonction factorielle 
Syntaxe : while

while condition:
bloc d’intructions

Exercice 7.6 On sait aussi que, si n’est pas premier, il admet un diviseur m avec 2 ≤ 𝑚 ≤ √𝑛.

1
SUP’PTIC Langage de Programmation-Python

Ecrire une fonction premier(n) qui renvoie True ou False selon que n est premier ou non. Cette fonction ne devra
pas faire plus que √𝑛 tests de divisibilité.

 Les boucles while et for peuvent posséder une clause else qui ne s’exécute que si la boucle se termine normalement,
c’est-à-dire sans interruption

Exercice 7.6 Exécutez le programme suivant

from math import sqrt


y = int(input("Entrez un entier positif : "))
while not(y>0): y = int(input("Entrez un entier positif,
S.V.P. : ")) else: x = int(sqrt(y)) while x>1: if y%x==0:
print(x, 'est un diviseur de',y)
break
else: x-=1
else: print(y, 'est un nombre premier')
Dans une boucle, on peut également mettre des instructions break, continue ou pass :
 break : sort de la boucle sans passer par else,
 continue : remonte au début de la boucle, 
pass : ne fait rien.

VIII. Structures de données


A. Chaînes de caractères
3) Extraction

Instruction résultat Commentaires

nom = 'Cédric‘

print(nom[1], nom[3],
nom[5] )
Exercice 8.1: Donner la commande qui va extraire le n’ième caractère de la chaine ma_chaine ?

4) Longueur d’une chaine

Si l’on désire déterminer le nombre de caractères présents dans une chaîne, on utilise la fonction intégrée len()

Exercice 8.2: Quelle est la longueur de ‘J’étudie le python et c’est un langage facile’?
5) Extraction de fragments de chaînes

Commande résultat Commentaires

ch = "Juliette"

1
SUP’PTIC Langage de Programmation-Python

print(nom[1], nom[3],
nom[5] )

print(ch[0:3])

print(ch[:3] )

print(ch[3:])
6) Concaténation, répétition

A partir des exemples suivants dire ce que font les opérateurs « + » et « * » lorsqu’ils sont appliqués aux chaines de
caractère.

Commande résultat Commentaires

'MAR' + 'YAM'

'zut ! ' * 4
Exercice 8.2 : Écrivez une fonction compteCar() qui compte le nombre d’occurrences d’un caractère donné dans
une chaîne.
Ainsi : print (compteCar("ananas au jus","a")) devra afficher : ananas au jus contient 4 « a ». print
(compteCar("Gédéon est déjà là","é")) devra afficher : Gédéon est déjà là contient 3 « é ».

B. Liste
En Python, les listes sont des objets qui peuvent en contenir d'autres. Ce sont donc des séquences, comme les chaînes de
caractères, mais au lieu de contenir des caractères, elles peuvent contenir n'importe quel objet. Une liste est une sorte de
tableau qui permet de mémoriser un ensemble d’éléments de types variés.

7) Création

Commandes Résultats Commentaire


ma_liste=list()

type(m_liste)

print(ma_liste)

8) Parcourt d’une liste

Commandes Résultats Commentaire


liste = ['chien', 'chat', 'crocodile', éléphant'] for
animal in liste: print ('longueur de la
chaîne', animal, '=', len(animal))

1
SUP’PTIC Langage de Programmation-Python

divers = ['cheval', lézard', 3, 17.25, [5, 'Jean']]


for e in divers: print( e, type(e) )

9) Appartenance d’un élément à une séquence: in

Commandes Résultats Commentaire


n,premiers = 13, [1, 2, 3, 5, 7, 11, 13, 17] if
n in premiers: print (n, ‘fait partie de
notre liste de nombres premiers’ )

10) Insertion dans une liste

Commandes Résultat Commentaire


mots= ['jambon','fromage','saucisson',
'ketchup']
mots.insert(2, 'miel') print(mots)

mots.append('pâté') print(mots)

• On peut insérer un élément dans une liste avec insert, ou à la fin de la liste avec append.
• Une liste est une séquence mutable pouvant contenir plusieurs autres objets.
• Une liste se construit ainsi : liste = [element1, element2, elementN].
 Suppression / remplacement d’éléments
Python dispose de del et de la méthode remove pour supprimer des éléments d'une liste :

Commandes Résultat Commentaire


ma_liste = [-5, -2, 1, 4, 7, 10]

del ma_liste[0] ma_liste

ma_liste.remove(7) ma_liste

11) Concaténer deux listes

On peut également agrandir des listes en les concaténant avec d'autres.

Commandes Résultats Commentaire


ma_liste1 = [1, 3, 5] ma_liste2
= [7, 9, 11]
ma_liste1.extend(ma_liste2)
print(ma_liste1)
ma_liste1 = [1, 3, 5] ma_liste1
+ ma_liste2

1
SUP’PTIC Langage de Programmation-Python

Exercice 8.4: Soient les listes suivantes :


Liste1 = [31,28,31,30,31,30,31,31,30,31,30,31]
Liste2= ['Janvier','Février','Mars','Avril','Mai','Juin', 'Juillet','Août','Septembre','Octobre','Novembre','Décembre']
Écrivez un petit programme qui insère dans la seconde liste tous les éléments de la première, de telle sorte que chaque nom
de mois soit suivi du nombre de jours correspondant.

Parmi les méthodes associées aux listes, mentionnons les plus utiles :

12) Création d’une liste de nombres à l’aide de la fonction range()

Commandes Résultats Commentaire

range(5,13)

range(3,16,3)
La fonction range() génère une liste de nombres entiers de valeurs croissants. range(n) génère les nombres de 0 à n-1
Exercice 8.3 : Écrire une fonction ADN qui reçoit un entier n pour paramètre et qui renvoie une chaîne de caractères chaine
de longueur n et constituée uniquement des caractères A, C, T, G répartis aléatoirement.
Exercice 8.4 Écrire deux fonctions somme et maximum qui renvoient respectivement la somme et le maximum d’une liste
d’entiers. Vérifiez votre résultat en vous servant des primitives sum et max.

C. Tuples

Commandes Résultat Commentaires


tuple = ('a', 'b', 'c', 'd', 'e')
print(tuple[2:4])
tuple[1:3] = ('x', 'y')

tuple = ('André',) + tuple[1:]

Les tuples sont des séquences, assez semblables aux listes, sauf qu'on ne peut modifier un tuple après qu'il ait été créé. Cela
signifie qu'on définit le contenu d'un tuple (les objets qu'il doit contenir) lors de sa création, mais qu'on ne peut en ajouter
ou en retirer par la suite.

D. Dictionnaires
Un dictionnaire est un objet conteneur associant des clés à des valeurs.
13) Création des dictionnaires

Commandes Résultat Commentaires

1
SUP’PTIC Langage de Programmation-Python

dico = dict() type(dico)

dico['computer'] = 'ordinateur'
dico['mouse'] ='souris'
dico['keyboard'] ='clavier' print(dico)

invent = {'pommes': 430, 'bananes':


312, 'oranges' : 274, 'poires' : 137}
print(invent)
invent[bananes]

14) Suppresion des clés d’un dictionnaire

Commandes Résultat Commentaires


del dico [“mouse”] dico

invent.pop(poires)

15) Parcours des clés d’un dictionnaire

Commandes Résultat Commentaires


fruits = {"pommes":21, "melons":3,
"poires":31}

for cle in fruits.keys():


print(cle)
La méthode keys (« clés » en anglais) renvoie la liste des clés contenues dans le dictionnaire.

 Parcours des valeurs d’un dictionnaire

Commandes Résultat Commentaires


fruits = {"pommes":21, "melons":3,
"poires":31}

for valeur in fruits.values():


print(valeur)

 Parcours des clés et valeurs simultanément

Commandes Résultat Commentaires


fruits = {"pommes":21, "melons":3,
"poires":31}

1
SUP’PTIC Langage de Programmation-Python

for cle, valeur in fruits.items():


print("La clé {} contient la valeur
{}.".format(cle, valeur))

 Pour créer un dictionnaire, on utilise la syntaxe dictionnaire = {cle1:valeur1, cle2 :valeur2, cle3:valeur3}.
 On peut ajouter ou remplacer un élément dans un dictionnaire : dictionnaire[cle] = valeur.
 On peut supprimer une clé (et sa valeur correspondante) d'un dictionnaire en utilisant, au choix, le mot-clé del ou la
méthode pop.
 On peut parcourir un dictionnaire grâce aux méthodes keys (parcourt les clés), values (parcourt les valeurs) ou items
(parcourt les couples clé-valeur).

Exercice : Écrire une fonction qui échange les clés et les valeurs d’un dictionnaire (ce qui permettra par exemple de
transformer un dictionnaire anglais/français en un dictionnaire français/anglais). On suppose que le dictionnaire ne
contient pas plusieurs valeurs identiques.

IX. Manipuler des fichiers


A. Répertoire courant

Commandes Résultat Commentaires


import os
help(os)
from os import chdir from
os import getcwd from
os import mkdir
mkdir("D:\Python\TP_fichier")

chdir("D:\Python\TP_fichier")

print( getcwd() )

Le module os contient toute une série de fonctions permettant de dialoguer avec le système d’exploitation (os = operating
system).

B. Ecriture séquentielle dans un fichier

C. Lecture séquentielle d’un fichier

1
SUP’PTIC Langage de Programmation-Python

• Lors des opérations de lecture, les lignes d’un fichier texte peuvent être extraites séparément les unes des autres. La
méthode readline(), par exemple, ne lit qu’une seule ligne à la fois.
• La méthode readlines() transfère toutes les lignes restantes dans une liste de chaînes.
• Notez bien que readline() est une méthode qui renvoie une chaîne de caractères, alors que la méthode readlines() renvoie
une liste. À la fin du fichier, readline() renvoie une chaîne vide, tandis que readlines() renvoie une liste vide. D. Ajout
dans un fichier

En Python, l’accès à un fichier est assuré par l’intermédiaire d ’un objet particulier appelé objet-fichier et créé à l’aide de la
primitive open (nom, mode) comme ceci : objet = open('mon _ fichier.txt', 'w ')
Une fois l’objet-fichier créé, il est doté de méthodes spécifiques, qui permettent notamment de lire et écrire dans le fichier,
suivant le mode d ’ouverture qui a été précisée dans le paramètre mode. Ce paramètre de type « chaîne de caractères »
peut prendre plusieurs valeurs :
 r : ouverture pour lecture seule ;
 w : ouverture pour écriture : si le fichier n’existe pas, il est créé, sinon son contenu est écrasé ;
 a : ouverture pour ajout : si le fichier n’existe pas, il est créé, sinon l’écriture s’effectue à la suite du contenu déjà existant
 + : ouverture pour lecture et écriture.
Remarque : Lorsqu’on manipule un fichier, il est recommandé d’utiliser le mot-clé with qui a l’avantage de fermer
proprement le fichier une fois le bloc d ’instructions correspondant exécuté, et cela même si une exception a été atteinte
dans ce dernier. De plus, il permet une syntaxe plus concise :

1
SUP’PTIC Langage de Programmation-Python

Une fois la lecture ou l’écriture dans le fichier terminé, on referme le fichier à l’aide de l’instruction close.

Application 9.1 : Écrire une fonction qui renvoie le nombre de lignes d ’un fichier.
Application 9.2. Utiliser la fonction ADN pour créer une séquence d’ADN et enregistrer le résultat dans un fichier texte
ADN.txt

1
SUP’PTIC Langage de Programmation-Python

X. Des interfaces graphiques avec Tkinter

• Tkinter est un module intégré à la bibliothèque standard et permettant de créer des interfaces graphiques.
• Les objets graphiques (boutons, zones de texte, cases à cocher…) sont appelés des widgets.
• Dans Tkinter, les widgets prennent, lors de leur construction, leur objet parent en premier paramètre.
• Chaque widget possède des options qu'il peut préciser comme arguments nommés lors de sa construction.
On peut également accéder aux options d'un widget ainsi : widget["nom_option"].
SUP’PTIC Langage de Programmation-Python

Vous aimerez peut-être aussi