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 :

Syntaxe dans la définition d'une classe


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Syntaxe dans la définition d'une classe
    Bonjour,

    Je veux mettre une valeur par défaut pour une méthode (p) de la classe, mais cette valeur a l'air de n'être récupérée qu'après une initialisation. Je pourrais mettre le bloc d'instructions de p dans __init__ et demander à p de renvoyer la valeur mais j'ai l'impression que ce n'est pas correct, car __init__ est déjà assez chargé... Est-ce qu'il existe un moyen d'écrire p autrement ?

    Voici à quoi ressemble mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class MainDepart(object):
     
        def __init__(self, coin = False):
            self.coin = coin
     
        def p(self, n_jetées = 3 + self.coin):
            [bloc d'instructions]

    Merci d'avance !

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Une solution possible:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class MainDepart(object):
     
        def __init__(self, coin = False):
            self.coin = coin
     
        def p(self, n_jetees=None):
            if n_jetees==None:
                n_jetees = 3 + self.coin
            #[bloc d'instructions]
    Ainsi, à l'appel de p, soit on ne donne pas d'argument et c'est la valeur par défaut qui est prise, soit on en donne un et c'est celui-là qui est utilisé.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci !! En voyant la solution je me sens un peu bête haha, en tout cas c'est exactement le code que je veux !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelle est la définition d'une classe métier ?
    Par soulivane dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 31/03/2010, 16h20
  2. Réponses: 2
    Dernier message: 03/05/2007, 17h17
  3. Réponses: 2
    Dernier message: 09/08/2006, 12h30
  4. Réponses: 29
    Dernier message: 17/06/2006, 13h04
  5. Réponses: 3
    Dernier message: 06/11/2005, 18h02

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