Skip to article frontmatterSkip to article content

Python est un paradigme orienté objet

cela signifie que toutes vos données sont des objets
entre autres choses chaque objet a un type

# en Python absolument toutes les données
# en mémoire sont des objets
# chaque objet possède (entre autres)
# un type

# un module
import math

# un nombre
x = 4 * math.pi

# une chaine
texte = "une chaine"

# une fonction
def fact(n):
    return 1 if n <= 1 else n * fact(n-1)
type(x)
float
type(texte)
str
type(fact)
function
type(math)
module

méthode = fonction attachée à un type

lorsqu’on appelle un méthode sur un objet,
la syntaxe est donc

objet.methode(parametre)

ce qui se passe c’est que

appel de méthode illustré

chaine = "bonjour"
chaine
'bonjour'
# la recherche de 'capitalize'
# à partir de `chaine`
# trouve une fonction rangée
# dans le type `str`

la_methode = str.capitalize
la_methode
<method 'capitalize' of 'str' objects>
# lorsqu'on écrit ceci
chaine.capitalize()
'Bonjour'
# c'est comme si on avait
# écrit
la_methode(chaine)
'Bonjour'
# si on passe des arguments
chaine.center(13, '-')
'---bonjour---'
# ils sont ajoutés après l'objet
str.center(chaine, 13, '-')
'---bonjour---'

à quoi ça sert ?

par rapport à un appel de fonction, 2 avantages