IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Classes en python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 31
    Par défaut Classes en python
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    import crypt
    import datetime
     
    class User:
        def __init__(self, id, name, password):
            self.id = id
            self.name = name
            self._salt = crypt.mksalt()
            self._password = self._crypt_pwd(password)
     
        def _crypt_pwd(self, password):
            return crypt.crypt(password, self._salt)
     
        def check_pwd(self, password):
            return self._password == self._crypt_pwd(password)
     
        def post(self, message):
            return Post(self, message)
     
    class Post:
        def __init__(self, author, message):
            self.author = author
            self.message = message
            self.date = datetime.datetime.now()
     
        def format(self):
            date = self.date.strftime('le %d/%m/%Y à %H:%M:%S')
            return '<div><span>Par {} {}</span><p>{}</p></div>'.format(self.author.name, date, self.message)
    Bonjour à tous,
    j'ai toujours des lacunes avec les objets, et les classes. Dans la classe User, il y a la méthode post qui fait un appel vers l'autre class Post. Ce que je ne comprends pas, c'est que Post possède deux arguments (author et message) et lorsqu'on fait appel à cette classe via la méthode post, il n y' a q'un argument (message). Je ne comprends pas ce que ça veut dire ?
    Par avance, merci de votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Citation Envoyé par Naunau75 Voir le message
    Dans la classe User, il y a la méthode post qui fait un appel vers l'autre class Post. Ce que je ne comprends pas, c'est que Post possède deux arguments (author et message) et lorsqu'on fait appel à cette classe via la méthode post, il n y' a q'un argument (message). Je ne comprends pas ce que ça veut dire ?
    Relisez le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        def post(self, message):
            return Post(self, message)
    Les arguments de l'appel sont self et message, ce qui fait bien 2.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 31
    Par défaut
    alors la class Post en un 3 (self, author, message) !
    et dans la class User, Post en a 2 (self, message).

    je ne comprends pas bien :/

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Citation Envoyé par Naunau75 Voir le message
    je ne comprends pas bien :/
    Si vous aviez pris la peine d'ouvrir un tuto. pour voir comment fonctionnent les classes avec Python, vous n'auriez même pas posé la question et compris tout de suite.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Citation Envoyé par Naunau75 Voir le message
    alors la class Post en un 3 (self, author, message) !
    et dans la class User, Post en a 2 (self, message).

    je ne comprends pas bien :/
    Salut,

    dans la classe Post
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    class Post:
        def __init__(self, author, message):
    le self est ajouté par Python lui-même et ensuite tes deux arguments donc le compte est bon.

    En fait l'argument self est l'instance construite par la méthode __new__() qui est implicite.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 31
    Par défaut
    Merci

Discussions similaires

  1. liste et class en python
    Par Power Lousse dans le forum Général Python
    Réponses: 4
    Dernier message: 16/12/2015, 23h40
  2. classe en python
    Par l1informatique dans le forum Général Python
    Réponses: 4
    Dernier message: 12/08/2014, 21h52
  3. Commencer avec les classes en Python
    Par Ismatus1 dans le forum Linux
    Réponses: 1
    Dernier message: 16/11/2011, 19h39
  4. AttributeError: class 'org.python.modules.os'
    Par capello123 dans le forum Général Python
    Réponses: 1
    Dernier message: 10/12/2007, 17h06
  5. variable de classe en Python
    Par Thierry Chappuis dans le forum Général Python
    Réponses: 5
    Dernier message: 09/02/2006, 22h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo