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 :

string en liberté


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Par défaut string en liberté
    Bonjour,

    Est il vrai que les strings en liberté dans une fonction (#1 et #2 ci dessous) ne sont pas évalués à chaque appel de foo(), mais seulement une fois lors de la déclaration ? Par quel méchanisme ?

    Est_ce également le cas pour le #3 ?

    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    def foo()
        """ docstring """ #1
        'string' #2
        `"char(string)"` #3

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,
    C'est vrai parce que la sortie du des-assemblage de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def foo():
        """ docstring """
        'string' 
        "char(string)" 
        return 42
     
    import dis
    print (dis.dis(foo))
    est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      5           0 LOAD_CONST               1 (42) 
                  3 RETURN_VALUE         
    None
    Par contre: les ' de `"char(string)"` ne sont pas acceptés
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Par défaut
    Merci wiztricks,

    Par contre: les ' de `"char(string)"` ne sont pas acceptés
    Veux tu dire que cette instruction plante (elle passe chez moi en py2.6), ou bien que l'appel à repr() sera fait à chaque appel à foo() ?

    D'ailleurs je me demande l'utilité de la notation `` (à part permettre à Eclipse de colorier en rose une commentaire important!)

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    Citation Envoyé par VV33D Voir le message
    Veux tu dire que cette instruction plante (elle passe chez moi en py2.6), ou bien que l'appel à repr() sera fait à chaque appel à foo() ?
    Chez moi, Python 3, çà dit:

    File "<stdin>", line 21
    `"char(string)"`
    ^
    SyntaxError: invalid syntax
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Par défaut
    ok, en python 26,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    `x` 
    % est equivalent à 
    repr(x)
    mais c'est quand même bizarre comme syntaxe, du coup ça m’étonne pas si c'est pas maintenu en py3

    Encore merci.

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

Discussions similaires

  1. éliminer un caractere d'un string
    Par no-vice dans le forum Langage
    Réponses: 5
    Dernier message: 09/08/2002, 14h55
  2. String -> long double (_strlold ?)
    Par haypo dans le forum C
    Réponses: 7
    Dernier message: 25/07/2002, 20h22
  3. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 09h47
  4. Réponses: 2
    Dernier message: 05/06/2002, 12h29
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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