From a0a93a90bfc8577296dfcbac24a19b513d1f531a Mon Sep 17 00:00:00 2001 From: Dimitri Merejkowsky Date: Sat, 16 Feb 2019 17:22:54 +0100 Subject: [PATCH] more chapter 6 --- sessions/python-06.md | 62 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 12 deletions(-) diff --git a/sessions/python-06.md b/sessions/python-06.md index e27c2d8..6489762 100644 --- a/sessions/python-06.md +++ b/sessions/python-06.md @@ -12,18 +12,20 @@ Un nouveau built-in: `id()` L'adresse de l'objet pointé par la variable: -``` +```python >>> a = 42532 >>> id(a) 94295009035968 >>> b = a >>> id(b) # même objet 94295009035968 ->>> c = 42532 # objet différent, même valeur +>>> c = 42532 # objet différent >>> id(c) +140400601470800 ``` -On en aura besoin tout à l'heure. +Notez bien les deux objets différents (le fait que +l'objet *pointé* ait la même valeur n'a pas d'importance) # Paradigmes @@ -124,21 +126,23 @@ Une autre adresse mémoire, donc un objet différent. # Méthodes -Une fonction dans une classe +Une fonction dans une classe: -``` +```python class MyObject: def my_method(the_object): print("hello", the_object) ``` +\vfill + C'est tout! # Méthodes - 2 La méthode n'existe pas en dehors de la classe - souvenez vous des cellules ! -``` +```python >>> my_method() NameError >>> object = MyObject() @@ -148,8 +152,11 @@ Hello, # Méthodes - 2 -``` ->>> object.my_method() +```.python +>>> object = MyObject() +>>> object + +>>>> object.my_method() Hello, ``` @@ -199,7 +206,7 @@ class MyObject: ```python >>> object = MyObject() ->>> object.attribute # ici l'attribut n'existe pas +>>> object.attribute # l'attribut n'existe pas AttributError >>> object.attribute = 42 # maintenant oui >>> object.attribute @@ -223,10 +230,10 @@ class MyObject: ```python >>> object = MyObject() ->>> object.print_attribute() # ici l'attribut n'existe pas +>>> object.print_attribute() # l'attribut n'existe pas AttributError >>> object.attribute = 42 ->>> object.print_attribute() # ça marche +>>> object.print_attribute() # maintenant oui 42 >>> object.change_attribute(43) >>> object.attribute @@ -490,7 +497,9 @@ Aujourd'hui on va utiliser `numbersapi.com` Example: On fait une requête sur `http://numbersapi.com/42`, on récupère du texte contenant un fait intéressant (*trivia* en anglais) à propos du nombre 42 . -# Squelette +# Code de départ + +Voir sur GitHub: https://github.com/E2L/cours-python/blob/master/sources/numbers/numbers_proc.py ```python import sys @@ -560,3 +569,32 @@ def get_trivia(self, number): url = self.build_url(number) return self.do_request(url) ``` + + +# Code final + +Voir sur GitHub: +https://github.com/E2L/cours-python/blob/master/sources/numbers/numbers_object.py + + +# Pour la prochaine fois - Exercice 1 + + +Partir des sources dans le répertoire `hangman`: + +https://github.com/E2L/cours-python/tree/master/sources/hangman + +* Rajouter la gestion des scores (dans `scores.py`) au code exsistant + du jeu du pendu (dans `hangman.py`) + + +* Refactorer en essayant d'introduire des classes + +# Pour la prochaine fois - Exercice 2 + +Partir du code dans `numbers_object.py`, rajouter la getsion +des autres URL de http://numbersapi.com + +# Des questions? Du code? + +Envoyez-moi un e-mail à `d.merej@gmail.com` :)