140 likes | 276 Views
SEANCE 7. Python La programmation objet. La programmation objet Python langage orienté objet. Les classes. Exercices. Contenu de la séance 7 :. Lundi 2 décembre 2013. Python = Langage Orienté Objet .
E N D
SEANCE 7 Python La programmation objet Lundi 2 décembre 2013
La programmation objet • Python langage orienté objet. • Les classes. • Exercices. Contenu de la séance 7 : Lundi 2 décembre 2013
Python = Langage Orienté Objet. On va définir des classesconstituées d’attribut(s) ou propriété(s) et des méthodes. Python
Classe Magicien • Propriétés ou attributs • Sexe • Age • Nationalité • Couleur de cheveux • taille • Méthodes • AttaqueMagicien() • DefenseMagicien() • ExperienceMagicien() Exemple de classe
Classe= ensemble incluant des attributs ou propriétés et des méthodes • Les attributs ou propriétés sont des variables accessibles depuis toutes les méthodes de la classe où elles sont définies • Objet = instance d’une classe. Vocabulaire
Classes du langage • Exemples : math (http://docs.python.org/library/math.html), string (http://docs.python.org/library/string.html),array(http://docs.python.org/library/array.html) , datetime, calendar, … • Classes créées par l’utilisateur (plus tard) Classes et Python
Les tableaux ou listes (séance 6) en Python sont des objets, instances de la classe array. Ce sont des objets modifiables. • Quelques méthodes : • L.append(x) : ajoute l’élément x à la liste L • L.extend(L2) : Rallonge la liste L en ajoutant à la fin tous les éléments de la liste donnée L2 • L.insert(i, x) : Insère un élément x à une position donnée i donc L.insert(0, x) insère x au début de la liste, et L.insert(len(a), x) est équivalent L.append(x). • L.remove(x) : Enlève le premier élément de la liste dont la valeur est x. Il y a erreur si cet élément n’existe pas. • L.index(x) : Retourne l’indice dans la liste du premier élément dont la valeur est x. Il y a erreur si cet élément n’existe pas. • L.count(x) : Renvoie le nombre de fois que x apparaît dans la liste. • L.sort() : Trie les éléments à l’intérieur de la liste. • L.reverse() : Renverse l’ordre des éléments à l’intérieur de la liste. La classe ARRAY
Un exemple : a = [66.6, 333, 333, 1, 1234.5] print (a.count(333), a.count(66.6), a.count(’x’)) # 2 1 0 a.insert(2, -1) a.append(333) a # [66.6, 333, -1, 333, 1, 1234.5, 333] a.index(333) # 1 a.remove(333) a # [66.6, -1, 333, 1, 1234.5, 333] a.reverse() a # [333, 1234.5, 1, 333, -1, 66.6] a.sort() a # [-1, 1, 66.6, 333, 333, 1234.5] • A tester : l=[5,2,9] m=l m[1]=6 l Que constatez-vous ? Pourquoi ? La classe ARRAY :
Propriétés : • e : Le nombre d'Euler e (2,718). • pi, … • Méthodes : fabs, cos, sin, exp, sqrt, exp, log, pow • floor : Renvoie le plus grand nombre entier plus petit ou égal à un nombre. • ... Exemple : import math #equivalent à from math import * x=input("un réel ? ") print (math.floor(x)) print (math.ceil(x)) print (math.trunc(x)) print (math.pi) La classe MATH :
Les chaîne de caractères en Python sont des objets, instances de la classe string. Quelques méthodes : http://docs.python.org/library/stdtypes.html#string-methods • ch.lower() et ch.upper() transforment une chaîne ch respectivement en minuscules et en majuscules , retournent la chaine modifiée. • ch.islower() et ch.isupper() retournent True si les chaines testées ch sont respectivement en minuscules ou en majuscules • ch.isalpha() retourne True si ch est constituée de caractères alphabétiques • ch.split() : découpe ch en chaines, en utilisant comme séparateur les espaces ou les tabulations, retourne la liste des chaines. animaux = "girafe tigre singe" animaux.split() # affichage de ['girafe', 'tigre', 'singe'] for i in animaux.split(): print (i) #affichage de girafe tigre singe animaux = "girafe:tigre:singe" animaux.split(":") # affichage de ['girafe', 'tigre', 'singe'] La classe STRING :
ch.find(ch2) : recherche dans ch une chaîne de caractères ch2 passée en paramètre. Si l'élément recherché est trouvé, alors l'indice du début de l'élément dans la chaîne de caractères est renvoyé. Si l'élément n'est pas trouvé, alors la valeur -1 est renvoyée. Si l'élément recherché est trouvé plusieurs fois, seul l'indice de la première occurrence est retourné : animal = "girafe" animal.find('i') # affiche 1 animal.find('afe') #3 animal.find('tig') #-1 animaux = "girafe tigre " animaux.find("i") # 1 La classe STRING :
ch.replace(ch2,ch3) : remplace une sous-chaine ch2 par une autre ch3 à l’intérieur d’une chaîne ch, retourne la chaine modifiée • animaux = "girafe tigre" • Ch=animaux.replace("tigre", "singe") #dans Ch : 'girafe singe' • Ch=animaux.replace("i", "o") # dans Ch : 'gorafetogre' • ch.count(ch2) compte le nombre de fois où ch2 est trouvée dans ch : • animaux = "girafe tigre" • animaux.count("i") #2 • animaux.count("z") #0 • animaux.count("tigre") # 1 • ch.join(l) : rassemble une liste de chaînes l en une seule chaine – ch correspond au séparateur , retourne la chaine modifiée • b2 = ["Salut","les","copains"] • print (" ".join(b2) ) # Affichage de Salut les copains • print ("---".join(b2) ) # Affichage de Salut---les---copains La classe STRING :
Comparaison : possibilité de comparer 2 chaînes de caractères (représentation des caractères par leurs codes ascii) mot = input("Entrez un mot quelconque : ") if mot < "limonade": place = "précède" elifmot > "limonade": place = "suit" else: place = "se confond avec" print ("Le mot ", mot, place, " le mot 'limonade' dans l'ordre alphabétique" ) • Quelques fonctions intégrée • len(ch) retourne la longueur de la chaîne ch • ord(c) et chr(nb) retournent respectivement le code ascii d’un caractère et le caractère correspondant au nombre La classe STRING :