Académique Documents
Professionnel Documents
Culture Documents
programmation Python
Ligne 1. L’instruction open() ouvre le fichier zoo.txt. Ce fichier est ouvert en lecture seule, comme l’indique le second
argument r (pour read) de la fonction open(). Remarquez que le fichier n’est pas encore lu, mais simplement ouvert
Ligne 2. Lorsqu’on affiche le contenu de la variable filin, on se rend compte que Python la considère comme un objet de type
fichier ouvert (ligne 3).
Ligne 4. Nous utilisons la méthode .readlines() agit sur l’objet filin en déplaçant le curseur de lecture du début à la fin du
fichier, puis elle renvoie une liste contenant toutes les lignes du fichier .
Ligne 6. Enfin, on applique la méthode .close() sur l’objet filin ferme le fichier Vous remarquerez que la méthode .close() ne
renvoie rien mais modifie l’état de l’objet filin en fichier fermé.
Il existe en Python le mot-clé with qui permet d’ouvrir et de fermer un fichier de manière efficace. Si pour une
raison ou une autre l’ouverture ou la lecture du fichier conduit à une erreur, l’utilisation de with garantit la bonne
fermeture du fichier, ce qui n’est pas le cas dans le code précédent. Voici donc le même exemple avec with :
Remarque :
— L’instruction with introduit un bloc d’indentation. C’est à l’intérieur de ce bloc que nous effectuons toutes les
opérations sur le fichier.
— Une fois sorti du bloc d’indentation, Python fermera automatiquement le fichier. Vous n’avez donc plus besoin
d’utiliser la méthode .close().
1.2. Méthode .read():
1. Module random :
La fonction choice() tire aléatoirement un élément d’une liste alors que choices() (avec un s à la fin) réalise
plusieurs tirages aléatoires, dont le nombre est précisé par le paramètre k.
2. Module math :
1. Passage d’arguments:
Le nombre d’arguments que l’on peut passer à une fonction est
variable. Nous avons vu ci-dessus des fonctions auxquelles on
passait 0 ou 1 ou plusieurs argument. Le nombre d’argument est
donc laissé libre à l’initiative du programmeur qui développe
une nouvelle fonction. Une particularité des fonctions en Python
est que vous n’êtes pas obligé de préciser le type des arguments
que vous lui passez, dès lors que les opérations que vous
effectuez avec ces arguments sont valides. Python est en effet
connu comme étant un langage au « typage dynamique », c’est-
à-dire qu’il reconnaît pour vous le type des variables au moment
de l’exécution. Par exemple :
2. Renvoi de résultats:
Un énorme avantage en Python est que les fonctions sont
capables de renvoyer plusieurs objets à la fois, comme dans
cette fraction de code :
Par exemple, la voiture de Jonathan, qui est de couleur rouge avec une vitesse de 30 km/h, est une instance de la
classe Voiture, c’est un objet. De même, la voiture de Denis, qui est de couleur grise avec une vitesse de 50 km/h, est un
autre objet. Nous pouvons donc avoir plusieurs objets pour une même classe, en particulier ici deux objets (autrement dit :
deux instances de la même classe). Chacun des objets a des valeurs qui lui sont propres pour les attributs.
1. Classe et Objet:
❑ Définition d’une classe:
Voici comment définir une classe appelée ici Point. Par convention en Python, le nom identifiant une classe (qu’on
appelle aussi son identifiant) débute par une majuscule. Ici Point débute par un P majuscule.
Un constructeur n’est rien d’autre qu’une méthode, sans valeur de retour, qui porte un nom imposé par le
langage Python : __init__(). Ce nom est constitué de init entouré avant et après par __ (deux fois le symbole
underscore _). Cette méthode sera appelée lors de la création de l’objet. Le constructeur peut disposer d’un
nombre quelconque de paramètres, éventuellement aucun.
4. Notion d’encapsulation:
Le concept d’encapsulation est un concept très utile de la POO. Il permet en particulier d’éviter une
modification par erreur des données d’un objet. En effet, il n’est alors pas possible d’agir directement sur les
données d’un objet ; il est nécessaire de passer par ses méthodes qui jouent le rôle d’interface obligatoire.
❑ Attributs privés:
On réalise la protection des attributs de notre
classe Point grâce à l’utilisation d’attributs
privées. Pour avoir des attributs privés, leur
nom doit débuter par __ (deux fois le
symbole underscore _)