Académique Documents
Professionnel Documents
Culture Documents
L3 BI-EBUS
Haïfa Nakouri
hayfa.nakouri@esen.tn
ESEN Manouba
2021/2022
Objectifs du chapitre
"hello".uppper()
list3.append(‘a’)
dict2.keys()
Nom de la Classe
Attribut:
Gear
speed
Méthodes:
Speed up
Change gear
Apply brake
En désignant les
attributs comme
« privés », le codage
pour y accéder devient
plus compliqué
L’utilisation de
Getters et Setters
est nécessaire pour
accéder aux variables
d’instance d’un objet
ou les modifier0
Exemple
précédent :
Polymorphisme :
la possibilité de surcharger
les opérateurs standard afin
qu’ils aient un
comportement approprié en
fonction de leur contexte
class Sales:
def __init__(self, id):
self.id = id
id = 100
val = Sales(123)
print (val.id)
Output :
123
class B(A):
def __init__(self, j = 0):
self.j = j
def main():
b = B()
print(b.i)
print(b.j)
Output :
main() AttributeError: 'B' object has no
Haïfa Nakouri attribute
LPE-BI 'i' ESEN 2021/2022 38
Evaluation
class A:
def __init__(self, i = 0):
self.i = i
class B(A):
def __init__(self, j = 0):
A.__init__(self,i=0)
self.j=0
def main():
b = B()
print(b.i, end='\t')
print(b.j)
main() Output :
Haïfa Nakouri LPE-BI 0 2021/20220
ESEN 39
Evaluation
class A:
def __init__(self):
self.calcI(30)
print("i from A is", self.i)
class B(A):
def __init__(self):
A.__init__(self)
b = B() Output :
Haïfa Nakouri i from A is 90
LPE-BI ESEN 2021/2022 40
Evaluation
class A:
def __init__(self):
self.calcI(30)
class B(A):
def __init__(self):
A.__init__(self)
print("i from B is", self.i)
b = B()
Output :
Haïfa Nakouri i from B is 90
LPE-BI ESEN 2021/2022 41
3- Attributs et méthodes prédéfinie
def __str__(self):
return "User information " + self.firstName \
+ " " + self.lastName
user1= User("Barack","Obama")
print(user1)
class User:
"""this class describes a user """
def __init__(self, fn, ln):
self.firstName = fn
self.lastName = ln
def __eq__(self, other):
return (self.firstName==other.firstName and
self.lastName==other.lastName)
user1= User("Barack","Obama")
user2= User("Barack","Obama")
print(user1==user2)
Haïfa Nakouri LPE-BI ESEN 2021/2022 True47
Eléments de données spéciaux
Ces attributs existent pour toutes les classes.
Utile …
print(user1.__class__)
print(user1.__doc__)
<class '__main__.User'>
this class describes a user