Quest-ce que le self en Python ? Exemples concrets
Qu'est-ce que le self en Python ? Exemples concrets
Lors de l'écriture de classes en Python, vous pouvez souvent rencontrer le terme 'self.'
Il s'agit d'un concept crucial que les débutants doivent comprendre lorsqu'ils approfondissent les fonctionnalités orientées objet du langage de programmation Python.
Le self
paramètre fait référence à l'instance actuelle d'une classe. Vous pouvez l'utiliser pour accéder aux attributs et aux méthodes qui appartiennent à cette classe.
Dans ce tutoriel Python, nous allons explorer comment la self
variable joue un rôle central dans les classes Python. Nous vous montrerons également comment maintenir la clarté, la modularité et la réutilisabilité du code grâce à l'utilisation de self
.
Table des matières
Comprendre soi en Python
Python est un langage de programmation orienté objet (POO) qui s'appuie fortement sur les classes et les objets. Ainsi, avant de plonger dans le self
paramètre, nous devons d'abord comprendre ce qu'est la programmation orientée objet.
Programmation orientée objet en Python
Écriture à la craie - POO, programmation orientée objet " data-medium-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg" data- large-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" decoding="async" loading="paresseux" src="https : //blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" alt="Qu'est-ce que Self en Python." class="wp-image-206807" width=" 709" hauteur="472" srcset="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg 612w, https://blog.enterprisedna.co /wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg 300w, https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-560x372.jpg 560w" tailles="(max-width : 709px) 100vw, 709px">
La programmation orientée objet aide les programmeurs à modéliser des concepts et des relations du monde réel grâce à l'utilisation de classes et d'objets. Cela se traduit par un code plus structuré, réutilisable et évolutif.
Considérez une classe comme un modèle pour créer des objets avec des propriétés et des méthodes prédéfinies. De plus, un objet est une instance d'une classe qui stocke ses propres valeurs pour les attributs et a accès aux fonctions de classe.
Ces deux concepts sont un bloc de construction important dans de nombreuses applications Python . Vous pouvez voir à la fois les classes et les objets au travail dans cette vidéo sur Comment créer facilement des données avec la bibliothèque Python Faker.
Le rôle de Python Self
Self
est une référence à l'instance de la classe en Python. Il vous permet d'accéder et de modifier les attributs et les méthodes d'une classe dans sa propre portée.
Voici quelques points clés sur l'utilisation de self
en Python :
Self
n'est pas un mot clé réservé dans la syntaxe Python . Vous pouvez utiliser d'autres noms pour identifier les instances de classe, mais self
il s'agit de la convention la plus largement utilisée et acceptée par les programmeurs Python.Self
est utilisé comme premier paramètre dans les méthodes d'instance pour référencer l'instance actuelle de la classe.self
pour faire la distinction entre les attributs d'instance et les variables locales, ce qui rend votre code plus lisible et moins bogué.self
paramètre dans le __init__()
constructeur et tous les autres constructeurs de fonction suivants dans votre classe. Si vous ne le faites pas, votre programme lancera un fichier typeerror
. class Person: def __init__(self): print('welcome') def show_person(): print('I love pandas.') a = Person() b = a.show_person() Traceback (most recent call last): File "person.py", line 10, in trill = b.show_person() ^^^^^^^^^^^^^^^^^^ TypeError: Person.show_person() takes 0 positional arguments but 1 was given
Remarque : Vous pouvez contourner l'utilisation du self
paramètre dans les fonctions en utilisant la fonctionnalité de méthode statique fournie par Python 3. Nous reviendrons plus en détail là-dessus dans une section ultérieure.
Travailler avec soi
Apprendre à utiliser self
est très important pour créer des classes en Python. Tout au long de cette section, vous apprendrez à utiliser self
dans différents scénarios lorsque vous travaillez avec des classes et des objets.
Initialisation d'objets avec '__init__()'
Lors de la création d'une nouvelle instance d'une classe, la __init__()
méthode est appelée pour initialiser les attributs de l'objet. La __init__()
méthode est le constructeur de la classe et prend le self
paramètre comme premier argument.
Le self
paramètre est utilisé dans cette méthode pour associer les attributs d'instance aux arguments donnés.
Voici un exemple :
class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30)
Dans cet exemple, la méthode prend , et comme paramètres lors de l'initialisation de l'objet. Le paramètre fait référence à l'instance de classe, vous permettant de définir les attributs et pour l'objet spécifique en cours de création. init
self
name
age
self
name
age
Utilisation de soi dans les méthodes
Lors de la définition de méthodes d'instance dans une classe, vous devez inclure self
comme premier paramètre. Cela vous permet d'accéder aux attributs d'instance et à d'autres méthodes au sein de la classe.
Développons l'exemple précédent :
class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): print("Hello, my name is " + self.name + " and I'm " + str(self.age) + " years old.") person1 = Person("Alice", 30) person1.introduce()
Dans cet exemple, la introduce()
méthode inclut self
comme premier paramètre. Cela vous permet d'accéder aux attributs de nom et d'âge de l'objet et de créer une introduction personnalisée.
Lorsque vous appelez la méthode dans votre code, vous n'avez pas besoin de transmettre
self
explicitement le paramètre. Python s'en charge automatiquement.
En suivant ces directives et en comprenant le but de self
Python , les débutants peuvent travailler efficacement avec des classes et des objets. Cela leur permet de créer un code bien structuré, facile à lire et à entretenir.
Cas d'auto-utilisation courants
Il existe de nombreuses façons d'utiliser le mot-clé dans votre code Python. En comprenant ces cas d'utilisation, vous pourrez les utiliser efficacement dans vos programmes. self
self
Regardons certains d'entre eux :
Accéder aux attributs de classe
L'une des principales utilisations de self
consiste à accéder aux attributs d'instance au sein d'une classe. Les attributs d'instance sont spécifiques à un objet créé à partir de la classe et stockent les données de l'objet.
L'utilisation self
vous permet de manipuler ou d'accéder à ces attributs dans les méthodes de classe. Regardons un exemple :
class Dog: def __init__(self, name, age): self.name = name self.age = age def display_name(self): print("The dog's name is:", self.name)
Dans cet exemple, nous avions l'habitude self
d'accéder à l'attribut name d'un objet Dog dans la display_name
méthode.
Appel de méthodes de classe
Un autre cas d'utilisation courant self
consiste à appeler d'autres méthodes de classe à partir d'une méthode d'instance. Cela vous permet de réutiliser le code, de réduire la complexité et d'améliorer la lisibilité.
Il est essentiel de l'utiliser self
lorsque vous faites référence à d'autres méthodes, car cela garantit que la bonne méthode est appelée pour l'instance spécifique. Considérez l'exemple suivant :
class Bird: def __init__(self, species, color): self.species = species self.color = color def show_species(self): print("The bird species is:", self.species) def show_info(self): self.show_species() print("The bird color is:", self.color)
Dans l'exemple ci-dessus, nous utilisons self
pour appeler la show_species
méthode depuis la show_info
méthode. Cela nous permet d'afficher l'espèce et la couleur de l'oiseau en un seul appel.
Enfin, n'oubliez pas d'utiliser self
lors de l'accès aux attributs d'instance et de l'appel des méthodes de classe. Une fois que vous aurez compris ces cas d'utilisation, vous serez en mesure d'écrire du code Python plus efficace et organisé.
Meilleures pratiques personnelles
Lorsque vous travaillez avec, self,
vous devez suivre certaines conventions pour éviter les problèmes et les bogues dans votre code. En voici quelques uns.
Où utiliser soi-même
Lors de la définition de méthodes d'instance, utilisez toujours le self
paramètre comme premier paramètre. Cela vous permet d'accéder et de modifier les attributs d'instance de l'objet et d'appeler d'autres méthodes d'instance au sein de la classe.
Il est important de l'utiliser self
lorsque vous travaillez avec des instances d'objet en Python. Son utilisation garantit un comportement cohérent et permet une encapsulation correcte des objets.
Par exemple, considérons la classe suivante :
class MyClass: def __init__(self, my_var): self.my_var = my_var
Ici, le paramètre self est utilisé dans la __init__
méthode pour initialiser l' my_var
attribut de l'instance d'objet. De cette façon, devient un attribut spécifique à l'instance. my_var
Par conséquent, il est possible d'y accéder et de le modifier à l'aide de l'auto-référence dans d'autres méthodes de la classe.
Conventions de nommage pour soi
Alors que self
c'est le nom conventionnel utilisé pour l'instance en Python, vous pouvez techniquement utiliser n'importe quel nom que vous aimez. Cependant, il est fortement recommandé de vous en tenir à l'utilisation de self pour plus de clarté et de cohérence avec la communauté Python au sens large.
L'utilisation d'un nom différent peut être source de confusion pour ceux qui lisent et travaillent avec votre code, en particulier s'ils sont habitués aux conventions de dénomination standard des bibliothèques Python.
Où ne pas s'utiliser soi-même
Nous savons déjà que le self
paramètre donne accès à l'instance de l'objet. Cependant, dans certains cas, certaines fonctions de la classe peuvent ne pas nécessiter l'accès à l'instance d'objet.
Dans ce scénario, le paramètre self n'est pas nécessaire. Ainsi, Python fournit une fonctionnalité de méthode statique pour contourner le paramètre self :
Voici un exemple :
class Car: @staticmethod def print_car(): print('Vroom Vroom')
Dans l'exemple ci-dessus, le @staticmethod
décorateur de fonction remplace l' self
exigence de paramètre dans la méthode. De cette façon, la fonction s'exécutera même si aucune instance d'objet ne lui est transmise.
Conclusion
En résumé, le paramètre self en Python fait référence à l'instance d'une classe et vous permet d'accéder à ses attributs et méthodes. En tant que développeur Python, il est important de comprendre le but de self et son utilisation dans les classes et les objets.
En utilisant self de manière cohérente dans votre code, vous favorisez la lisibilité et la maintenabilité, ce qui améliore la qualité globale de votre travail.
N'oubliez pas non plus que même si vous pouvez voir le terme "self"
fréquemment utilisé en Python, il ne s'agit pas d'un mot-clé Python réservé. Cela diffère des langages de programmation comme Javascript et Java , où "this"
est un mot-clé réservé.
Vous pouvez nommer le premier paramètre d'une méthode de classe comme bon vous semble ; " self
" est juste la convention préférée.
Il y a une question qui plane toujours parmi les programmeurs Python. Le self est-il réellement un mot-clé en Python ?
Contrairement à d'autres langages de programmation comme C++, où self est considéré comme un mot-clé, en Python, il s'agit d'une convention que les programmeurs ont tendance à suivre. Il s'agit essentiellement d'un paramètre dans une définition de méthode. Cependant, vous pouvez utiliser n'importe quel autre nom à la place de soi, comme un autre ou moi ou toute autre chose pour le premier paramètre d'une méthode. Une autre raison pour laquelle cela est suggéré par la plupart des gens est que cela améliore la lisibilité de votre code.
Voyons un exemple pour le comprendre :
class myClass : def show(another) : print ("un autre est utilisé à la place de soi")
Si vous comparez ce code avec le code de l'auto-constructeur de classe Python, vous remarquerez qu'ici nous avons utilisé le nom un autre dans lieu de soi. Créons maintenant un objet de cette classe et voyons le résultat :
objet = maClasse() object.show()
Vous pouvez voir que le programme fonctionne même si nous utilisons un autre nom à la place de la variable self. Cela fonctionne exactement de la même manière que la variable self.
Qu'est-ce que le self en Python ? Exemples concrets
Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.
Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.
Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.
Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.
Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.
Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.
Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.
Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.
Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir