|
|
@@ -476,6 +476,142 @@ class MonObject: |
|
|
|
|
|
|
|
# |
|
|
|
|
|
|
|
\center \huge QCM |
|
|
|
|
|
|
|
# |
|
|
|
|
|
|
|
```python |
|
|
|
def dire_bonjour(): |
|
|
|
return "Bonjour" |
|
|
|
|
|
|
|
dire_bonjour() |
|
|
|
``` |
|
|
|
|
|
|
|
1. Erreur |
|
|
|
2. Affiche "Bonjour" |
|
|
|
3. N'affiche rien |
|
|
|
|
|
|
|
\pause |
|
|
|
|
|
|
|
Réponse: 3: la fonction retourne quelque chose, |
|
|
|
mais on n'en fait rien |
|
|
|
|
|
|
|
# |
|
|
|
|
|
|
|
```python |
|
|
|
def différencernce(x, y): |
|
|
|
return x - y |
|
|
|
|
|
|
|
z = différence(y=4, x=5) |
|
|
|
``` |
|
|
|
|
|
|
|
Que vaut `z`? |
|
|
|
|
|
|
|
1. `1` |
|
|
|
2. `-1` |
|
|
|
3. Erreur |
|
|
|
|
|
|
|
\pause |
|
|
|
|
|
|
|
Réponse: 1 Quand on nomme les arguments, on les mets dans l'ordre qu'on veut. |
|
|
|
|
|
|
|
# |
|
|
|
|
|
|
|
```python |
|
|
|
class MonObject: |
|
|
|
def ma_méthode(): |
|
|
|
print("Bonjour") |
|
|
|
|
|
|
|
mon_objet = MonObject() |
|
|
|
mon_objet.ma_méthode() |
|
|
|
``` |
|
|
|
|
|
|
|
1. Erreur |
|
|
|
2. Affiche 'Bonjour' |
|
|
|
|
|
|
|
\pause |
|
|
|
|
|
|
|
Réponse 1: les méthodes prennent `self` en premier argument |
|
|
|
|
|
|
|
# |
|
|
|
|
|
|
|
```python |
|
|
|
class MonObject: |
|
|
|
def ma_méthode(): |
|
|
|
print("mon attribut est", self.mon_attribut) |
|
|
|
|
|
|
|
mon_attribut = 42 |
|
|
|
mon_objet = MonObject() |
|
|
|
mon_objet.ma_méthode() |
|
|
|
``` |
|
|
|
|
|
|
|
1. Affiche "mon attribut est 42' |
|
|
|
2. Erreur |
|
|
|
|
|
|
|
\pause |
|
|
|
|
|
|
|
Réponse 2: Les attributs doivent exister quand ils sont utilisés comme valeur |
|
|
|
|
|
|
|
# |
|
|
|
|
|
|
|
```python |
|
|
|
class MonObject: |
|
|
|
def ma_méthode(self): |
|
|
|
print(self.mon_attribut) |
|
|
|
|
|
|
|
mon_objet = MonObject() |
|
|
|
mon_objet.mon_attribut = 42 |
|
|
|
mon_objet.ma_méthode() |
|
|
|
``` |
|
|
|
|
|
|
|
1. Erreur |
|
|
|
2. Affiche '42' |
|
|
|
|
|
|
|
\pause |
|
|
|
|
|
|
|
Réponse 2: On peut créer des attributs avec des assignations |
|
|
|
|
|
|
|
# |
|
|
|
|
|
|
|
```python |
|
|
|
class MonObject: |
|
|
|
def ma_méthode(self): |
|
|
|
self.mon_attribut = 42 |
|
|
|
print("mon attribut est", self.mon_attribut) |
|
|
|
|
|
|
|
mon_objet = MonObject() |
|
|
|
mon_objet.ma_méthode() |
|
|
|
``` |
|
|
|
|
|
|
|
1. Affiche "mon attribut est 42' |
|
|
|
2. Erreur |
|
|
|
|
|
|
|
\pause |
|
|
|
|
|
|
|
Réponse 1: On peut créer des attributs dans |
|
|
|
des méthodes grâce à `self`. |
|
|
|
|
|
|
|
# |
|
|
|
|
|
|
|
```python |
|
|
|
class MonObject: |
|
|
|
def __init__(self, valeur): |
|
|
|
self.mon_attribut = valeur |
|
|
|
|
|
|
|
mon_objet = MonObject() |
|
|
|
valeur = mon_objet.mon_attribut |
|
|
|
print(valeur) |
|
|
|
``` |
|
|
|
|
|
|
|
1. Erreur |
|
|
|
2. Affiche '42' |
|
|
|
|
|
|
|
\pause |
|
|
|
|
|
|
|
Réponse 2: `__init__` est une méthode magique appelée automatiquement. |
|
|
|
|
|
|
|
# |
|
|
|
|
|
|
|
\center \huge Atelier |
|
|
|
|
|
|
|
# Consignes |
|
|
|