Table des matières
1. Définition du scénario
Propriétés privées
Méthodes privées
2. Définition de la syntaxe
3. Analyse des appels
4. Attributs pseudo-privés et méthodes privées de Python
Maison développement back-end Tutoriel Python Parlons des propriétés privées et des méthodes privées de Python

Parlons des propriétés privées et des méthodes privées de Python

Apr 12, 2023 am 11:37 AM
python 私有属性 私有方法

Parlons des propriétés privées et des méthodes privées de Python

1. Définition du scénario

Propriétés privées

signifie que dans le processus de développement orienté objet de Python, certaines propriétés de l'objet veulent uniquement être utilisées à l'intérieur de l'objet, mais ne veulent pas être accessibles de l'extérieur.

C'est-à-dire : les attributs privés sont des attributs que l'objet n'est pas disposé à rendre publics.

Méthodes privées

signifie que dans le processus de développement orienté objet de Python, certaines méthodes ou fonctions de l'objet veulent uniquement être utilisées à l'intérieur de l'objet, mais ne veulent pas être accessibles de l'extérieur.

C'est-à-dire : les méthodes privées sont des méthodes ou des fonctions que l'objet ne veut pas rendre publiques.

2. Définition de la syntaxe

La syntaxe pour définir les propriétés privées et les méthodes privées en Python est la suivante :

class Staff:
def __init__(self, s_name, s_salary):
self.s_name = s_name
self.__salary = s_salary

def __secret(self):
print("%s 的工资是 %d" % (self.s_name, self.__salary))
Copier après la connexion

(1) est une propriété privée définie en commençant par deux traits de soulignement.

(2). __secret(self) est une méthode privée définie en commençant par deux traits de soulignement.

3. Analyse des appels

(1). Dans la méthode d'initialisation d'objet de __init__, l'attribut __salary défini en commençant par deux traits de soulignement est un attribut privé.

Appelez maintenant l'attribut __salary en dehors de l'objet pour voir si l'attribut privé est accessible normalement.

Parlons des propriétés privées et des méthodes privées de Python

Comme le montrent les résultats d'exécution de la figure ci-dessus, ligne 11, c'est-à-dire que lors de l'accès à l'attribut privé __salary de l'objet depuis l'extérieur de l'objet, une erreur AttributeError est générée. L'objet Staff zhangsan n'en a pas. attribut __salaire.

Pour prouver que l'objet de classe Staff a l'attribut d'instance __salary, simplement parce que les attributs privés ne sont pas accessibles en dehors de l'objet.

J'ai modifié self.__salary en : self.salary, la méthode __secret(self) fait référence à l'attribut self.__salary et j'ai apporté les modifications correspondantes comme indiqué dans la figure ci-dessous.

Parlons des propriétés privées et des méthodes privées de Python

Il ressort des résultats en cours d'exécution que l'appel externe de cet attribut non privé est normal et qu'aucune erreur AttributeError n'est générée.

(2). Dans la méthode d'instance __secret(self), la méthode __secret(self) définie en commençant par deux traits de soulignement est une méthode privée.

Identique au processus de test ci-dessus, appelez d'abord la méthode privée __secret(self) en dehors de l'objet pour voir si la méthode privée peut être appelée normalement.

Parlons des propriétés privées et des méthodes privées de Python

Comme le montrent les résultats d'exécution de la figure ci-dessus, ligne 11, c'est-à-dire que lors de l'accès à la méthode privée __secret(self) de l'objet en dehors de l'objet, une erreur AttributeError est générée pour l'objet Staff zhangsan. n'a pas de méthode __secret.

Pour prouver que l'objet de classe Staff a la méthode d'instance __secret(self), simplement parce que la méthode privée n'est pas accessible en dehors de l'objet.

J'ai modifié la méthode __secret(self) pour : secret(self) et les autres codes restent inchangés. Voir les résultats en cours d'exécution comme indiqué dans la figure ci-dessous.

Parlons des propriétés privées et des méthodes privées de Python

Il ressort des résultats en cours d'exécution que l'appel externe de cette méthode non privée est normal et qu'aucune erreur AttributeError n'est générée.

(3). Comme vous pouvez le voir sur la figure ci-dessous, les méthodes privées et les propriétés privées peuvent être appelées à l'intérieur de l'objet.

Comme le montre la figure, la méthode de travail appelle la méthode privée __secret(self) et la méthode privée __secret(self) appelle l'attribut privé __salary.

Parlons des propriétés privées et des méthodes privées de Python

Utilisez l'objet de classe Staff zhangsan en dehors de l'objet pour appeler la méthode de travail, qui peut accéder indirectement aux propriétés privées et aux méthodes privées de l'objet.

D'après la sortie de la console, on peut voir que la méthode de travail peut normalement accéder aux propriétés privées et aux méthodes privées définies à l'intérieur de l'objet.

4. Attributs pseudo-privés et méthodes privées de Python

En Python, il n'y a pas de véritable sentiment de confidentialité, car Python effectue en interne un traitement spécial sur les noms lors de la nomination des attributs et des méthodes, rendant les noms correspondants inaccessibles au monde extérieur. . propriétés et méthodes.

En prenant comme exemple les attributs privés et les méthodes privées, la méthode de traitement interne de Python est :

(1) Attribut : __salary, le nom de l'attribut traité est : _Staff__salary (_class name__attribute name)

(2) Méthode : __secret, le nom de la méthode traitée est : _Staff__secret(_class name__method name)

Je connais le traitement interne par Python des attributs privés et des méthodes privées, et j'utilise maintenant cette méthode de dénomination traitée pour nommer des objets Accéder en externe aux propriétés privées et aux méthodes privées pour voir si elles sont accessibles normalement.

class Staff:
def __init__(self, s_name, s_salary):
self.s_name = s_name
self.__salary = s_salary

def __secret(self):
return "%s的工资是 %d" % (self.s_name, self.__salary)
zhangsan = Staff("张三", 10000)
print(zhangsan._Staff__salary)
print(zhangsan._Staff__secret())
Copier après la connexion

Les résultats en cours d'exécution sont présentés dans l'image ci-dessous

Parlons des propriétés privées et des méthodes privées de Python

La console n'a généré aucune exception et le message d'erreur AttributeError précédent a disparu.

Cet exemple prouve que Python n'est pas privé au vrai sens du terme. Après avoir connu sa méthode de traitement interne, vous pouvez toujours utiliser la méthode de nom d'attribut _class name__ (nom de méthode) pour accéder à la définition interne de l'objet depuis l'extérieur de l'objet privé. propriétés et méthodes privées.

Mais cette méthode n'est pas recommandée dans le travail quotidien. Car lorsque les propriétés et les méthodes sont définies à l'intérieur de l'objet, elles sont déclarées privées et l'appelant doit respecter ses règles.

Je veux juste utiliser ce petit exemple pour illustrer que Python n'a pas de réel sentiment de confidentialité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment les plumes PS contrôlent-elles la douceur de la transition? Comment les plumes PS contrôlent-elles la douceur de la transition? Apr 06, 2025 pm 07:33 PM

La clé du contrôle des plumes est de comprendre sa nature progressive. Le PS lui-même ne fournit pas la possibilité de contrôler directement la courbe de gradient, mais vous pouvez ajuster de manière flexible le rayon et la douceur du gradient par plusieurs plumes, des masques correspondants et des sélections fines pour obtenir un effet de transition naturel.

Comment utiliser MySQL après l'installation Comment utiliser MySQL après l'installation Apr 08, 2025 am 11:48 AM

L'article présente le fonctionnement de la base de données MySQL. Tout d'abord, vous devez installer un client MySQL, tel que MySQLWorkBench ou le client de ligne de commande. 1. Utilisez la commande MySQL-UROot-P pour vous connecter au serveur et connecter avec le mot de passe du compte racine; 2. Utilisez Createdatabase pour créer une base de données et utilisez Sélectionner une base de données; 3. Utilisez CreateTable pour créer une table, définissez des champs et des types de données; 4. Utilisez InsertInto pour insérer des données, remettre en question les données, mettre à jour les données par mise à jour et supprimer les données par Supprimer. Ce n'est qu'en maîtrisant ces étapes, en apprenant à faire face à des problèmes courants et à l'optimisation des performances de la base de données que vous pouvez utiliser efficacement MySQL.

MySQL doit-il payer MySQL doit-il payer Apr 08, 2025 pm 05:36 PM

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

Comment configurer des plumes de PS? Comment configurer des plumes de PS? Apr 06, 2025 pm 07:36 PM

La plume PS est un effet flou du bord de l'image, qui est réalisé par la moyenne pondérée des pixels dans la zone de bord. Le réglage du rayon de la plume peut contrôler le degré de flou, et plus la valeur est grande, plus elle est floue. Le réglage flexible du rayon peut optimiser l'effet en fonction des images et des besoins. Par exemple, l'utilisation d'un rayon plus petit pour maintenir les détails lors du traitement des photos des caractères et l'utilisation d'un rayon plus grand pour créer une sensation brumeuse lorsque le traitement de l'art fonctionne. Cependant, il convient de noter que trop grand, le rayon peut facilement perdre des détails de bord, et trop petit, l'effet ne sera pas évident. L'effet de plumes est affecté par la résolution de l'image et doit être ajusté en fonction de la compréhension de l'image et de la saisie de l'effet.

Quel impact la plume de PS a-t-elle sur la qualité de l'image? Quel impact la plume de PS a-t-elle sur la qualité de l'image? Apr 06, 2025 pm 07:21 PM

Les plumes de PS peuvent entraîner une perte de détails d'image, une saturation des couleurs réduite et une augmentation du bruit. Pour réduire l'impact, il est recommandé d'utiliser un rayon de plumes plus petit, de copier la couche puis de plume, et de comparer soigneusement la qualité d'image avant et après les plumes. De plus, les plumes ne conviennent pas à tous les cas, et parfois les outils tels que les masques conviennent plus à la gestion des bords de l'image.

Comment optimiser les performances de la base de données après l'installation de MySQL Comment optimiser les performances de la base de données après l'installation de MySQL Apr 08, 2025 am 11:36 AM

L'optimisation des performances MySQL doit commencer à partir de trois aspects: configuration d'installation, indexation et optimisation des requêtes, surveillance et réglage. 1. Après l'installation, vous devez ajuster le fichier my.cnf en fonction de la configuration du serveur, tel que le paramètre innodb_buffer_pool_size, et fermer query_cache_size; 2. Créez un index approprié pour éviter les index excessifs et optimiser les instructions de requête, telles que l'utilisation de la commande Explication pour analyser le plan d'exécution; 3. Utilisez le propre outil de surveillance de MySQL (ShowProcessList, Showstatus) pour surveiller la santé de la base de données, et sauvegarde régulièrement et organisez la base de données. Ce n'est qu'en optimisant en continu ces étapes que les performances de la base de données MySQL peuvent être améliorées.

Comment optimiser les performances MySQL pour les applications de haute charge? Comment optimiser les performances MySQL pour les applications de haute charge? Apr 08, 2025 pm 06:03 PM

Guide d'optimisation des performances de la base de données MySQL dans les applications à forte intensité de ressources, la base de données MySQL joue un rôle crucial et est responsable de la gestion des transactions massives. Cependant, à mesure que l'échelle de l'application se développe, les goulots d'étranglement des performances de la base de données deviennent souvent une contrainte. Cet article explorera une série de stratégies efficaces d'optimisation des performances MySQL pour garantir que votre application reste efficace et réactive dans des charges élevées. Nous combinerons des cas réels pour expliquer les technologies clés approfondies telles que l'indexation, l'optimisation des requêtes, la conception de la base de données et la mise en cache. 1. La conception de l'architecture de la base de données et l'architecture optimisée de la base de données sont la pierre angulaire de l'optimisation des performances MySQL. Voici quelques principes de base: sélectionner le bon type de données et sélectionner le plus petit type de données qui répond aux besoins peut non seulement économiser un espace de stockage, mais également améliorer la vitesse de traitement des données.

Solution d'erreur d'installation MySQL Solution d'erreur d'installation MySQL Apr 08, 2025 am 10:48 AM

Raisons et solutions courantes pour l'échec de l'installation MySQL: 1. Nom d'utilisateur ou mot de passe incorrect, ou le service MySQL n'est pas démarré, vous devez vérifier le nom d'utilisateur et le mot de passe et démarrer le service; 2. Conflits portuaires, vous devez modifier le port d'écoute MySQL ou fermer le programme qui occupe le port 3306; 3. La bibliothèque de dépendances est manquante, vous devez utiliser le gestionnaire de package système pour installer la bibliothèque de dépendances nécessaires; 4. Autorisations insuffisantes, vous devez utiliser les droits de Sudo ou d'administrateur pour exécuter l'installateur; 5. Fichier de configuration incorrect, vous devez vérifier le fichier de configuration My.cnf pour vous assurer que la configuration est correcte. Ce n'est qu'en travaillant régulièrement et soigneusement que MySQL peut être installé en douceur.

See all articles