Que sont les attributs de classe Python ? Quelles sont les propriétés privées d'une classe ? (Exemple d'analyse)

乌拉乌拉~
Libérer: 2018-08-22 17:17:02
original
3019 Les gens l'ont consulté

Dans cet article, découvrons les connaissances sur les classes. Certains amis viennent peut-être d'entrer en contact avec le langage de programmation python et n'ont pas une compréhension particulière des attributs de classe python, mais ce n'est pas le cas. Ce n'est pas important. Le prochain article vous présentera la connaissance de la Méthode d'attribut de classe Python Eh bien, sans plus tarder, entrons dans l'article et commençons à apprendre.

Attributs privés de la classe

__private_attrs : commençant par deux traits de soulignement, déclare que l'attribut est privé et ne peut être utilisé ou directement accessible en dehors de la classe. Utilisé dans les méthodes à l’intérieur de la classe ou accessible directement. Lors de l'utilisation de self.__private_attrs dans une méthode à l'intérieur d'une classe.

Méthodes de classe

Au sein de la classe, vous pouvez utiliser le mot-clé def pour définir une méthode pour la classe Contrairement aux définitions de fonctions générales, les méthodes de classe doivent inclure le paramètre self. , et est le premier paramètre.

Méthodes privées de la classe

__private_method : Commençant par deux traits de soulignement, il est déclaré que la méthode est une méthode privée et ne peut pas être appelée en dehors de la classe. Appelez self.__private_methods à l’intérieur de la classe.

Les exemples sont les suivants :

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
class JustCounter:
    __secretCount = 0  # 私有变量
    publicCount = 0    # 公开变量
 
    def count(self):
        self.__secretCount += 1
        self.publicCount += 1
        print self.__secretCount
 
counter = JustCounter()
counter.count()
counter.count()
print counter.publicCount
print counter.__secretCount  # 报错,实例不能访问私有变量
Copier après la connexion

Python Modifiez le nom pour inclure le nom de la classe :

Traceback (most recent call last):
  File "test.py", line 17, in <module>
    print counter.__secretCount  # 报错,实例不能访问私有变量
AttributeError: JustCounter instance has no attribute &#39;__secretCount&#39;
Copier après la connexion

Python n'autorise pas les classes instanciées à accéder aux données privées, mais vous pouvez utiliser object._className__attrName (nom de l'objet._nom de classe__nom d'attribut privé) pour accéder aux attributs, reportez-vous à l'exemple suivant :

#!/usr/bin/python
# -*- coding: UTF-8 -*-

class Runoob:
    __site = "www.runoob.com"
    
runoob = Runoob()
print runoob._Runoob__site
Copier après la connexion

Après avoir exécuté l'exemple ci-dessus, le résultat est le suivant :

www.runoob.com
Copier après la connexion

Ce qui précède est tout le contenu décrit dans cet article. Cet article présente principalement les connaissances pertinentes de la méthode d'attribut de classe python . J'espère que vous pourrez utiliser les informations pour comprendre le contenu ci-dessus. J'espère que ce que j'ai décrit dans cet article vous sera utile et vous facilitera l'apprentissage de Python.

Pour plus de connaissances connexes, veuillez visiter la colonne Tutoriel Python du site Web php chinois.

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal