attribut d'instance, attribut de classe
Dans le développement orienté objet, une instance créée à l'aide d'une classe est un objet, la classe est-elle donc un objet ?
attribut d'instance
Les objets créés via des classes sont appelés objets d'instance, et les attributs d'objet sont également appelés attributs d'instance, qui enregistrent les données de chaque objet, et les attributs d'instance de différents objets portant le même nom, les données enregistrées sont indépendantes et n'interfèrent pas les unes avec les autres .
class Person ( object ) :
def __init__ ( self, name, age) :
self. name = name
self. age = age
Chaque fois qu'un objet est créé, l'objet a ses propres propriétés de nom et d'âge
p1 = Person( '张三' , 18 )
p2 = Person( "李四" , 20 )
attribut de classe
Un attribut de classe est un attribut appartenant à un objet de classe, qui est partagé par tous les objets d'instance de la classe, et un attribut de classe est accessible via un objet de classe ou un objet d'instance.
class Dog :
type = "狗"
Qu'il s'agisse de la classe dog1, dog2 ou Dog, vous pouvez accéder à l'attribut type
print ( Dog. type )
print ( dog1. type )
print ( dog2. type )
scènes à utiliser
Un attribut de classe est défini lorsqu'une donnée enregistrée par une instance d'une classe est toujours cohérente. Les attributs d'instance exigent que chaque objet ouvre un espace mémoire séparé pour enregistrer des données, tandis que les attributs de classe sont partagés par toutes les classes, occupant une seule mémoire, économisant ainsi plus d'espace mémoire.
point important:
Essayez d'éviter les attributs de classe et les attributs d'instance portant le même nom. S'il existe un attribut d'instance avec le même nom, l'objet d'instance accédera d'abord à l'attribut d'instance.
class Dog ( object ) :
type = "狗"
def __init__ ( self) :
self. type = "dog"
créer un objet
dog1 = Dog( )
print ( dog1. type )
Les attributs de classe ne peuvent être modifiés que via des objets de classe, pas des objets d'instance
class Dog ( object ) :
type = "狗"
dog1 = Dog( )
dog1. type = "dog"
print ( dog1. type )
print ( Dog. type )
Dog. type = "土狗"
print ( Dog. type )
dog2 = Dog( )
print ( dog2. type )
Les attributs de classe peuvent également être définis sur privé en ajoutant deux traits de soulignement devant. comme:
class Dog ( object ) :
count = 0
__type = "狗"
print ( Dog. count)
print ( Dog. __type)
Cas avancé
[Python] Python réalise le jeu de devinettes de mots - défiez votre intelligence et votre chance !
[python] La bibliothèque Python tkinter implémente un programme graphique pour le convertisseur d'unité de poids
[python] Utilisez Selenium pour obtenir des entrées (2023 Blog Star)
[python] Utilisez Selenium et Chrome WebDriver pour obtenir des informations sur l'article dans [Tencent Cloud Studio Practical Training Camp]
Utilisez le studio Tencent Cloud Cloud pour réaliser la planification Baidu AI pour réaliser la reconnaissance de texte
[Amusez-vous avec la série Python [Xiaobai doit voir] Robot d'exploration multithread Python : téléchargez des images de sites Web de packages d'émoticônes
[Play with Python series] [Must-see for Xiaobai] Utilisez Python pour explorer les données historiques de Shuangseqiu et les analyser visuellement
[Jouez avec la série python] [Incontournable pour Xiaobai] Utilisez la technologie Python crawler pour obtenir une adresse IP proxy et enregistrez-la dans un fichier
[Incontournable pour Xiaobai] Exemple de synthèse d'images Python utilisant la bibliothèque PIL pour réaliser la synthèse de plusieurs images par rangs et colonnes
[Xiaobai doit voir] Le combat réel du crawler Python télécharge des images de déesses par lots et les enregistre localement
[Xiaobai doit voir] Analyse détaillée du générateur de nuage de mots Python et implémentation du code
[Xiaobai doit voir] Python explore un exemple de données de joueurs NBA
[Incontournable pour Xiaobai] Exemple de code pour explorer et enregistrer l'audio de l'Himalaya à l'aide de Python
[Incontournable pour Xiaobai] Réalisation technique de l'utilisation de Python pour télécharger des images de skin League of Legends par lots
[Xiaobai doit voir] Traitement et visualisation des données du crawler Python
[Incontournable pour Xiaobai] Programme de chenilles Python pour obtenir facilement des images de peau de héros de King of Glory
[Incontournable pour Xiaobai] Utilisez Python pour générer un document Word de liste personnalisée
[Incontournable pour Xiaobai] Combat de chenilles Python : obtenez des images du site Web d'Onmyoji et enregistrez-les automatiquement
Xiaobai série incontournable du système de gestion de bibliothèque - exemple de code pour les fonctions de connexion et d'enregistrement
100 cas de combat réel de Xiaobai : un programme complet et simple de jugement gagnant à la loterie Shuangseqiu, adapté au démarrage de Xiaobai
Traitement et visualisation de données géospatiales à l'aide de géopandas et shapely (.shp)
Utiliser le sélénium pour explorer les données de la liste de films Maoyan
Explication détaillée du principe et de la mise en œuvre de l'algorithme d'amélioration d'image Retinex
Guide de démarrage pour les robots d'exploration (8) : écrivez des programmes de robots d'exploration de données météorologiques pour l'analyse visuelle
Guide d'introduction aux robots d'exploration (7): Utilisation de Selenium et de BeautifulSoup pour explorer le film Douban Top250 Exemple d'explication [Reptile Xiaobai doit regarder]
Guide de démarrage des robots d'exploration (6) : Anti-crawlers et compétences avancées : proxy IP, déguisement d'agent utilisateur, vérification de la connexion par contournement des cookies et outils d'identification du code de vérification
Guide d'introduction aux robots d'exploration (5) : robots d'exploration distribués et contrôle de concurrence
Premiers pas avec les robots d'exploration (4) : la meilleure façon d'explorer des pages Web dynamiques à l'aide de Selenium et de l'API
Guide de démarrage des robots d'exploration (3) : requêtes réseau Python et stratégies anti-crawler courantes
Premiers pas avec les robots d'exploration (2) : Comment utiliser les expressions régulières pour l'extraction et le traitement des données
Débuter avec les reptiles (1) : Apprenez les bases et les compétences des reptiles
Application du modèle d'apprentissage en profondeur à la reconnaissance d'images : analyse de la pratique et de la précision des ensembles de données CIFAR-10
Principes de base de la programmation orientée objet Python et exemple de code
Guide d'utilisation de la base de données MySQL : apprenez à utiliser Python pour ajouter, supprimer, modifier et interroger des opérations
Guide d'utilisation des fichiers Python : encodage, lecture, écriture et gestion des exceptions
Utilisez Python et Selenium pour automatiser l'exploration#【Dragon Boat Festival Special Call for Papers】Explorez la technologie ultime, et l'avenir vous appartiendra "Zong" #Articles contribués
Tutoriel Python multi-thread et multi-processus : analyse complète, cas de code et compétences en optimisation
Selenium Automation Toolset - Guide complet et tutoriels
Les bases du robot d'exploration Python sont avancées jusqu'au didacticiel de combat réel
Tutoriel d'introduction à Python : maîtrisez les connaissances de base de la boucle for, de la boucle while, de l'opération sur les chaînes, de la lecture et de l'écriture de fichiers et de la gestion des exceptions
Tutoriel de traitement et d'analyse des données Pandas : des bases au combat réel
Explication détaillée des types de données couramment utilisés et des opérations associées en Python
[Le dernier en 2023] Explication détaillée des six principaux schémas pour améliorer l'indice du modèle de classification
Introduction aux bases de la programmation Python et compétences avancées, développement Web, analyse de données, apprentissage automatique et intelligence artificielle
Résultats de prédiction graphique avec 4 méthodes de régression : régression vectorielle, régression de forêt aléatoire, régression linéaire, régression des K-plus proches voisins