>> steph {'nom': 'Harper', 'prenom': 'Stephen'} >>> justin={"prenom":"Justin","nom":"Trudeau"} >>> tom={"prenom":"Thomas","nom":"Mulcair"} >>> e1={"id":123,"employe":steph,"fonction":"developpeur","supervise":[456,987]} >>> e2={"id":456,"employe":justin,"fonction":"secretaire","supervise":[222]} >>> e3={"id":987,"employe":tom,"fonction":"testeur","supervise":[]} >>> liste=[e1,e2,e3] >>> import json >>> json.dump(liste,fp=open('monjson.txt','w'),indent=4)"> >> steph {'nom': 'Harper', 'prenom': 'Stephen'} >>> justin={"prenom":"Justin","nom":"Trudeau"} >>> tom={"prenom":"Thomas","nom":"Mulcair"} >>> e1={"id":123,"employe":steph,"fonction":"developpeur","supervise":[456,987]} >>> e2={"id":456,"employe":justin,"fonction":"secretaire","supervise":[222]} >>> e3={"id":987,"employe":tom,"fonction":"testeur","supervise":[]} >>> liste=[e1,e2,e3] >>> import json >>> json.dump(liste,fp=open('monjson.txt','w'),indent=4)">

La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Fichier=open('monfichier.txt','w') >>> fichier.write('bonjour\n') 8 >>> liste ['le chien', 'le chat', 'le loup'] >>> for s in liste: fichier.write(s+'\n')

Présentations similaires


Présentation au sujet: "Fichier=open('monfichier.txt','w') >>> fichier.write('bonjour\n') 8 >>> liste ['le chien', 'le chat', 'le loup'] >>> for s in liste: fichier.write(s+'\n')"— Transcription de la présentation:

1 fichier=open('monfichier.txt','w') >>> fichier.write('bonjour\n') 8 >>> liste ['le chien', 'le chat', 'le loup'] >>> for s in liste: fichier.write(s+'\n') 9 8 >>> fichier.close() >>> fichier=open('monfichier.txt','r') >>> fichier.readline() 'bonjour\n' >>> for ligne in fichier: ligne.replace('\n','!') 'le chien!' 'le chat!' 'le loup!' >>> fichier.close()

2 >>> contacts={'robert':123,'jean':567,'paul':646} >>> fichier=open('contacts.pkl','wb') >>> import pickle >>> pickle.dump(contacts,fichier) >>> fichier.close() >>> fichier=open('contacts.pkl','rb') >>> c=pickle.load(fichier) >>> fichier.close() >>> c {'jean': 567, 'robert': 123, 'paul': 646}

3  JSON est un standard simple pour la sauvegarde d’information >>> steph={"prenom":"Stephen","nom":"Harper"} >>> steph {'nom': 'Harper', 'prenom': 'Stephen'} >>> justin={"prenom":"Justin","nom":"Trudeau"} >>> tom={"prenom":"Thomas","nom":"Mulcair"} >>> e1={"id":123,"employe":steph,"fonction":"developpeur","supervise":[456,987]} >>> e2={"id":456,"employe":justin,"fonction":"secretaire","supervise":[222]} >>> e3={"id":987,"employe":tom,"fonction":"testeur","supervise":[]} >>> liste=[e1,e2,e3] >>> import json >>> json.dump(liste,fp=open('monjson.txt','w'),indent=4)

4 >>> print(open('monjson.txt').read()) [ { "employe": { "nom": "Harper", "prenom": "Stephen" }, "id": 123, "supervise": [ 456, 987 ], "fonction": "developpeur" }, { "employe": { "nom": "Trudeau", "prenom": "Justin" }, "id": 456, "supervise": [ 222 ], "fonction": "secretaire" }, { "employe": { "nom": "Mulcair", "prenom": "Thomas" }, "id": 987, "supervise": [], "fonction": "testeur" } ]

5 >>> d=json.loads(open('monjson.txt').read()) >>> d [{'id': 123, 'employe': {'nom': 'Harper', 'prenom': 'Stephen'}, 'supervise': [456, 987], 'fonction': 'developpeur'}, {'id': 456, 'employe': {'nom': 'Trudeau', 'prenom': 'Justin'}, 'supervise': [222], 'fonction': 'secretaire'}, {'id': 987, 'employe': {'nom': 'Mulcair', 'prenom': 'Thomas'}, 'supervise': [], 'fonction': 'testeur'}] >>> d[0] {'id': 123, 'employe': {'nom': 'Harper', 'prenom': 'Stephen'}, 'supervise': [456, 987], 'fonction': 'developpeur'} >>> d[0]['id'] 123 >>>

6  La classe est l’entité regroupant propriétés et comportements des objets ◦ Encapsulation:  attributs et méthodes sont associés à la classe  En Python, l’encapsulation se fait en créant des portées associées à chaque objet  Un objet définit un espace de nom ◦ Cachage de l’information:  l’utilisateur de la classe n’a accès qu’à l’interface publique d’une classe; la mécanique interne est cachée et les attributs ne sont pas accessibles directement  Python ne permet pas de définir une visibilité privée pour les attributs  La convention est que les variables débutant par un _ ou __ ne devrait pas être modifiées par l’utilisateur de la classe  En fait, dans la classe abc, l’attribut __xyz deviendra _abc__xyz

7  L’énoncé class créé un objet de type classe et lui associe un nom ◦ La définition existe seulement lorsque l’énoncé est exécuté  Une affectation dans une classe créé un attribut de classe  La définition d’une fonction dans une classe créé une méthode  Le mot-clé self permet de définir des attributs associé à chaque objet  L’appel à un objet de classe en tant que fonction va créer une instance de cette classe (un objet)

8 >>> class MaClasse: attributDeClasse=8 def setData(self,valeur): self.data=valeur def affiche(self): print(self.data,MaClasse.attributDeClasse ) >>> MaClasse.attributDeClasse 8 >>> x=MaClasse() >>> x.setData(99) >>> x.affiche() 99 8 >>> y=MaClasse() >>> y.setData(27) >>> y.affiche() 27 8 >>> x.affiche() 99 8 >>> MaClasse.attributDeClasse=11 >>> x.affiche() 99 11 >>> y.affiche() 27 11 >>> x.extra=8 >>> x.data=77 >>> x.affiche() 77 11

9  L’énoncé __init__ permet de définir ce qui se passe lorsqu’un objet est inititialisé  En général, les énoncés encadrés de __ ont une signification spéciale ◦ __str__ permet de définir la conversion vers une chaine de caractères ◦ __repr__ agit comme __str__ mais est plus général (mais moins prioritaire) ◦ Cette notation est aussi utilisée pour la surcharge d’opérateurs  __add__ définit le + pour les objets de cette classe

10 >>> class CompteDeBanque: def __init__(self,nom): self.nom=nom self.solde=0 def depot(self,montant): self.solde+=montant def __repr__(self): return 'Compte de %s: $%d' %(self.nom,self.solde) >>> r=CompteDeBanque('Robert') >>> r.depot(100) >>> r.depot(10) >>> print(r) Compte de Robert: $110 >>> r Compte de Robert: $110

11  L’héritage est un mécanisme essentiel pour la programmation orientée objet ◦ La spécialisation est le concept permettant de créé des sous-classes à une classe  Et de leur donner de nouveaux comportements, de nouvelles propriétés ◦ Réciproquement pour la généralisation  La sous-classe hérite des propriétés et des comportements de la super-classe ◦ Les attributs et méthodes de la super-classes sont accessibles à la sous-classe ◦ Une super-classe sans attributs sera une interface

12  Les super-classes d’une classe sont spécifiées à l’intérieur de la paranthèse de définition >>> class CompteCheque(CompteDeBanque): def __init__(self,nom): # super(). __init__(self,nom) aussi possible CompteDeBanque.__init__(self,nom) self.frais=1 def depot(self,montant): self.solde+=montant-self.frais >>> m=CompteCheque('Marie') >>> m.depot(200) >>> print(m) Compte de Marie: $199

13  La composition est le fait d’inclure des objets d’une classe dans les attributs d’une autre classe ◦ Si l’objet inclus survit à la destruction de l’objet qui le contient, on parle alors d’agrégation >>> class CompteDeBanque: def __init__(self,prenom,nom): self.nom=Personne(prenom,nom) self.solde=0 def depot(self,montant): self.solde+=montant def __repr__(self): return 'Compte de %s: $%d' %(self.nom,self.solde) >>> r=CompteDeBanque('Maurice','Richard') >>> r.depot(100) >>> r Compte de Maurice Richard: $100 >>> class Personne: def __init__(self,prenom,nom): self.prenom=prenom self.nom=nom def __str__(self): return self.prenom + ' ' + self.nom


Télécharger ppt "Fichier=open('monfichier.txt','w') >>> fichier.write('bonjour\n') 8 >>> liste ['le chien', 'le chat', 'le loup'] >>> for s in liste: fichier.write(s+'\n')"

Présentations similaires


Annonces Google