Introduction à la programmation orientée objet en Python
George Boorman
Curriculum Manager, DataCamp
class Employee: def __init__(self, name, salary): self.name = name self.salary = salary def give_raise(self, amount): self.salary += amount# Valeurs d’attribut uniques emp_one = Employee("John", 40000)emp_one.give_raise(5000) print(emp_one.salary)
45000
# Valeurs d’attribut uniques emp_two = Employee("Jane", 60000)emp_two.give_raise(5000) print(emp_two.salary)
65000
class MyClass: # Utiliser un décorateur pour déclarer une méthode de classe @classmethod# L’argument cls fait référence à la classe def my_awesome_method(cls, args...): # Faire quelque chose ici # Ne peut pas utiliser d’attributs d’instance# Appeler la classe, pas l’objet MyClass.my_awesome_method(args...)
self, cls est une convention, mais tout mot fonctionneclass Employee: def __init__(self, name, salary): self.name = name self.salary = salary@classmethod def from_file(cls, filename): with open(filename, "r") as f: # Lire la première ligne name = f.readline().strip() # Lire la deuxième ligne comme entier salary = int(f.readline().strip())return cls(name, salary)
__init__() possible
return pour renvoyer un objetcls(...) appelle __init__(...)class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
@classmethod
def from_file(cls, filename):
with open(filename, "r") as f:
name = f.readline().strip()
salary = int(f.readline().strip())
return cls(name, salary)

# Créer un employé sans appeler Employee()
emp = Employee.from_file("employee_data.txt")
print(emp.name)
John Smith
Constructeurs alternatifs
Méthodes sans attributs d’instance
Limiter à une seule instance (objet) d’une classe
Introduction à la programmation orientée objet en Python