Classes & objects · Classes & objets
A class is a blueprint
- A class defines a new kind of thing — a user-defined type.
- An object is one item made from that class.
- One
Dogclass can make many dog objects, each with its own data.
Une classe est un modèle
- Une classe définit un nouveau type de chose — un type défini par l'utilisateur.
- Un objet est un élément fabriqué à partir de cette classe.
- Un
Dogclass peut créer de nombreux objets chien, chacun avec ses propres données.
init and attributes
__init__is a special method that runs when you make an object.selfrefers to the object being made.- Values stored on
selfare the object's attributes (its data).
init et attributs
__init__est une méthode spéciale qui s'exécute lorsque vous créez un objet.selffait référence à l'objet en cours de création.- Les valeurs stockées sur
selfsont les attributs de l'objet (ses données).
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
p = Point(2, 5)
print(p.x)
print(p.y)
Methods
- A method is a function defined inside a class.
- Its first parameter is always
self, the object it works on. - Call it with a dot:
object.method().
Méthodes
- Une méthode est une fonction définie à l'intérieur d'une classe.
- Son premier paramètre est toujours
self, l'objet sur lequel elle agit. - Appelez-le avec un point :
object.method().
class Greeter:
def __init__(self, name):
self.name = name
def hello(self):
return "Hi, " + self.name
g = Greeter("Sam")
print(g.hello())
Enumerated types
- An enumerated type is a fixed set of named values.
from enum import Enumlets you define one as a class.- It is clearer than using loose numbers like
1,2,3.
Types énumérés
- Un type énuméré est un ensemble fixe de valeurs nommées.
from enum import Enumpermet de le définir comme une classe.- C'est plus clair que d'utiliser des nombres lâches comme
1,2,3.
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
print(Color.GREEN)
print(Color.GREEN.value)
In Cambridge pseudocode
- A
CLASSblock lists its data and aNEWconstructor.
En pseudocode Cambridge
- Un bloc
CLASSliste ses données et un constructeurNEW.
CLASS Point
PRIVATE X : INTEGER
PRIVATE Y : INTEGER
PUBLIC PROCEDURE NEW(startX : INTEGER, startY : INTEGER)
X ← startX
Y ← startY
ENDPROCEDURE
ENDCLASS
DECLARE p : Point
p ← NEW Point(2, 5)
Common mistakes
- Every method takes
selfas its first parameter. __init__runs automatically when you create an object.
Erreurs courantes
- Chaque méthode prend
selfcomme premier paramètre. __init__s'exécute automatiquement lorsque vous créez un objet.
Now you try
- Define each class with
__init__and any methods it needs. - Press Check answer to test your code.
À vous maintenant
- Définissez chaque classe avec
__init__et toutes les méthodes dont elle a besoin. - Appuyez sur Vérifier la réponse pour tester votre code.
Define a class Dog whose __init__ takes name and · et age and stores them as attributes self.name and · et self.age. · Définissez une classe Dog dont le __init__ prend name et age et les stocke comme attributs self.name et self.age.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
Define a class Rectangle with __init__(self, width, height) and a method area(self) that returns · rendements width * height. · Définissez une classe Rectangle avec __init__(self, width, height) et une méthode area(self) qui retourne width * height.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
Define a class BankAccount. __init__ sets self.balance to · à 0. Add deposit(self, amount) to add money and withdraw(self, amount) to take it away. · Définissez une classe BankAccount. __init__ définit self.balance sur 0. Ajoutez deposit(self, amount) pour ajouter de l'argent et withdraw(self, amount) pour le retirer.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.