


Pourquoi une erreur 'La propriété n'existe pas' lors de l'appel d'une propriété dans une classe Python?
Cet article analyse le problème AttributeError
causé par l'erreur d'appel d'attribut de classe dans Python 3.12. Le problème découle d'une simple erreur d'orthographe qui fait que l'attribut de classe ne peut pas être initialisé correctement.
Description de la question:
Le code lance AttributeError
lors de l'appel de l'attribut défini dans la méthode __init__
, ce qui incite que l'attribut n'existe pas.
Code d'erreur:
classe getConfig (objet): def __int __ (self): # Erreur Opelg: __int__ au lieu de __init__ current_dir = os.path.dirname (os.path.abspath (__ file__)) print (current_dir) sys_cfg_file = os.path.join (current_dir, "sysconfig.cfg") self.conf = configParser.ConfigParser () self.conf.read (sys_cfg_file) def get_db_host (self): db_host = self.conf.get ("db", "hôte") retourner db_host Si __name__ == "__main__": gc1 = getConfig () var = gc1.get_db_host ()
Message d'erreur:
<code>AttributeError: 'getconfig' object has no attribute 'conf'</code>
Analyse des erreurs:
La méthode __int__
n'est pas un constructeur dans Python, le nom du constructeur correct est __init__
. En raison d'une faute de frappe, la méthode __init__
n'est pas appelée, donc la propriété self.conf
n'est pas initialisée, provoquant la méthode get_db_host
pour essayer d'accéder à la propriété inexistante conf
.
Solution:
Corriger __int__
à __init__
et recommander une méthode de dénomination plus standardisée (comme la capitalisation des initiales):
Importer un système d'exploitation Importez ConfigParser # Assurez-vous que le module configParser est importé de classe GetConfig (objet): def __init __ (soi): current_dir = os.path.dirname (os.path.abspath (__ file__)) print (current_dir) sys_cfg_file = os.path.join (current_dir, "sysconfig.cfg") #it est recommandé que les noms de fichiers utilisent également les spécifications de nommage cohérentes self.conf = configParser.configparser () self.conf.read (sys_cfg_file) def get_db_host (self): db_host = self.conf.get ("db", "hôte") # Il est recommandé d'utiliser "db" en majuscules pour maintenir la cohérence return db_host Si __name__ == "__main__": gc1 = getConfig () var = gc1.get_db_host () Imprimer (var) # Imprimez le résultat et vérifiez s'il réussit
Avec cette correction simple, le code s'exécutera normalement et avec succès avec succès conf
. N'oubliez pas que Python est sensible à la casse et que les spécifications de dénomination cohérentes sont essentielles à la lisibilité et à la maintenabilité de votre code.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds











Les outils de quantification intégrés de l'échange comprennent: 1. Binance: fournit un module quantitatif à terme Binance Futures, des frais de manutention faible et prend en charge les transactions assistées par l'IA. 2. OKX (OUYI): prend en charge la gestion multi-comptes et le routage des ordres intelligents, et fournit un contrôle des risques au niveau institutionnel. Les plates-formes de stratégie quantitative indépendantes comprennent: 3. 3Commas: générateur de stratégie de glisser-déposer, adapté à l'arbitrage de la couverture multiplateforme. 4. Quadancy: Bibliothèque de stratégie d'algorithme de niveau professionnel, soutenant les seuils de risque personnalisés. 5. Pionex: stratégie prédéfinie intégrée, frais de transaction bas. Les outils de domaine vertical incluent: 6. CryptoPper: plate-forme quantitative basée sur le cloud, prenant en charge 150 indicateurs techniques. 7. Bitsgap:

Dans le domaine du trading des crypto-monnaies, la sécurité des échanges a toujours été au centre des utilisateurs. En 2025, après des années de développement et d'évolution, certains échanges se distinguent avec leurs mesures de sécurité exceptionnelles et leur expérience utilisateur. Cet article présentera les cinq échanges les plus sécurisés en 2025 et fournira des guides pratiques sur la façon d'éviter les utilisateurs de Black U (Hacker Attacks) pour s'assurer que vos fonds sont à 100% sécurisés.

Le choix de Python ou JavaScript doit être basé sur le développement de carrière, la courbe d'apprentissage et l'écosystème: 1) le développement de carrière: Python convient à la science des données et au développement de back-end, tandis que JavaScript convient au développement frontal et complet. 2) Courbe d'apprentissage: la syntaxe Python est concise et adaptée aux débutants; La syntaxe JavaScript est flexible. 3) Ecosystème: Python possède de riches bibliothèques informatiques scientifiques, et JavaScript a un puissant cadre frontal.

Python et JavaScript ont chacun leurs propres avantages, et le choix dépend des besoins du projet et des préférences personnelles. 1. Python est facile à apprendre, avec une syntaxe concise, adaptée à la science des données et au développement back-end, mais a une vitesse d'exécution lente. 2. JavaScript est partout dans le développement frontal et possède de fortes capacités de programmation asynchrones. Node.js le rend adapté au développement complet, mais la syntaxe peut être complexe et sujet aux erreurs.

Classement des dix principales applications de trading de devises virtuelles numériques en 2025: 1. Binance: diriger le monde, fournir des transactions efficaces et une variété de produits financiers. 2. OKX: Il est innovant et diversifié, soutenant une variété de types de transactions. 3. Huobi: stable et fiable, avec service de haute qualité. 4. Coinbase: Soyez amical pour les débutants et une interface simple. 5. Kraken: le premier choix pour les commerçants professionnels, avec des outils puissants. 6. Bitfinex: trading efficace, paires de trading riches. 7. Bittrex: conformité à la sécurité, coopération réglementaire.

Python peut fonctionner sur une variété de plates-formes, y compris nos communes: Windows, Unix, Linux et Macintosh. Cet article introduira en détail le processus d'installation de Python dans le système d'exploitation Windows. Mon système d'exploitation est la version Windows 7, 32 bits. Lors de l'installation de Python, nous pouvons choisir de l'installer dans le code source ou de sélectionner la version binaire déjà compilée pour l'installation. J'ai choisi ce dernier ici. Étape 1 Téléchargez le package d'installation. Nous téléchargeons le package d'installation de Python à partir du site officiel de Python: http://www.python.org. La version que j'ai sélectionnée est: Python-3.3.2.20 cliquez pour télécharger, i

Le dernier tutoriel de téléchargement pour OUYI OKX6.118.0 Version: 1. Cliquez sur le lien rapide de l'article; 2. Cliquez sur le téléchargement (si vous êtes un utilisateur Web, veuillez d'abord enregistrer les informations). La dernière version Android V6.118.0 optimise certaines fonctions et expériences pour faciliter le trading. Mettez à jour l'application maintenant pour vivre une expérience commerciale plus extrême.

Selon les dernières évaluations et les tendances de l'industrie des institutions faisant autorité en 2025, les dix principales plateformes de crypto-monnaie au monde sont les dix principales plateformes de crypto-monnaie qui prennent en charge les transactions multi-chaînes, combinant le volume des transactions, l'innovation technologique, la conformité et la réputation de l'utilisateur Analyse complète:
