J'ai une classe et j'ai déclarer une variable : none en tant que membre de la classe voici mon exemple :
class Requete:
curs = None
def __init__(self, con):
self.curs = con.cursor()
En faite j'utilise la biblio pySql et bien sur si je viens vers c'est que mon code fonctionne pas du moins quand je souhaite déclarer un membre d'une classe en None pour ce cas si ça fonctionne pas et j'avou que je comprend pas (le reste de mon code à peu d'importance vu que si je déclare ce cursor dans une fonction il fonctionne correctement et fait ce que je lui demande mais dès que je veux le mettre en membre de ma classe je sais pas commentle déclarer correctement pour que ça fonctionne ???????
Voici le message d'erreur :
AttributeError: 'NoneType' object has no attribute 'cursor'
J'ai une classe et j'ai déclaré une variable : none en tant que membre de la classe voici mon exemple :
class Requete:
curs = None
def __init__(self, con):
self.curs = con.cursor()
Es-tu bien conscient que les deux curs surlignés sont deux variables distinctes ? Et que Requete.curs n'est lié à aucune instance (si tu as fais du Java C++ et assimilé, ce serait l'équivalent d'un membre statique).
Ok j'ai compris merci il faut déclarer les membre dans le init précédé du mot self c'est ça ?
si on le précède pas du mot self c'est une variable de la fonction c'est ça ?
Dans un exemple sur le net il créé des membre dans le init mais en plus il crée un fonction getter de c'est membre mais vu quels sont pas privé (syntaxe __var__) je vois pas l'interet à moins qu'il y a qql chose que j'ai pas compris ?
self --> c'est la référence à l'objet, attention c'est une simple convention, mais il est conseillé pour une bonne lecture de le mettre tel quel, c'est un peu le 'this' du C++, si tu en as fais.
self.tafonction() --> la fonction ou méthode de l'objet
C'est un object euhh je c pas trop comment la définir
Non, on pourrait assimiler une classe comme un plan pour créer un objet.
Grâce à ce plan tu peux créer plusieurs objets identiques.
Je sais pas si tu vois un peu plus l'intérêt de la POO...
Exemple : Tu crées une classe Personnage --> Plan du personnage
Attributs du personnage:
- Nom
- Puissance
- Points de vie
- ...
Fonction ou méthode (décrit les actions du personnage)
- Attaquer
- Défendre
- Manger
- ...
Edit : On pourra donc créer des personnages avec des attributs différents ayant les même actions, attention on peut faire bien plus...
Je sais pas si je t'aiguille un peu, mais la POO n'est pas toujours la bonne solution.
En outre il permet aussi d'organiser ton code proprement, et d'avoir un code que tu peux maintenir à souhait en faisant toutes les modifications possibles.
Oui fred ça j'avais compris j'arrivais pas trop à m'exprimer mais dans le gros j'avais pigé.
Je souhaite séparé un max mais traitement alors je créer des classes et elles sont appelé par une seul de mes classes une sorte de modèle controleur (j'ai pas encore la vue ...)
Merci pour ton aide à toi et aux autres
Déclarer var en None
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Python c'est bon, mangez-en.