La plupart des programmeurs Python ignorent cela sur la POO Python

#120 - Démystifier la méthode __init__()

Démystifier la méthode __init__()

La plupart des programmeurs Python comprennent mal la méthode __init__(). Ils pensent qu'elle crée un nouvel objet. Mais ce n'est pas le cas.

Lorsque nous créons un objet, ce n'est pas la méthode __init__() qui lui alloue de la mémoire. Comme son nom l'indique, __init__() n'attribue de valeur qu'aux attributs d'un objet.

Au lieu de cela, Python invoque d'abord la méthode __new__() pour créer un nouvel objet et lui allouer de la mémoire.

Mais quelle utilité, me diras-tu ? Il y a plusieurs raisons à cela.

Par exemple, en mettant en œuvre la méthode __new__(), tu peux appliquer des contrôles de données. Cela permet de s'assurer que ton programme n'alloue de la mémoire que lorsque certaines conditions sont remplies.

D'autres cas d'utilisation courants impliquent la définition de classes singleton (classes avec un seul objet), la création de sous-classes de classes immuables telles que les tuples, etc.

Ça t'a plu ? 😎

Connexion ou S'abonner pour participer aux sondages.

Reply

or to participate.