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 :

truc tout bête sur unpack variable


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 27
    Points : 28
    Points
    28
    Par défaut truc tout bête sur unpack variable
    Bonjour à tous,

    J'ai une question toute bête. quand je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import platform
    [Major, Minor, Sub] = platform.python_version().split('.')
    Disons que je suis à la version 2.5.3 j'ai
    Major qui vaut 2, Minor qui vaut 5 et Sub qui vaut 3

    Le truc c'est que je n'utilise pas Sub et donc je ne voudrais pas même créer cette variable. Est ce possible dans ce cas d'avoir que Major et Minor à déclarer ?

    D'avance merci
    A +

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 923
    Points : 7 322
    Points
    7 322
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import platform
    [Major, Minor, _] = platform.python_version().split('.')

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 481
    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 481
    Points : 9 280
    Points
    9 280
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Major, Minor = platform.python_version().split('.')[:-1]
    Tyrtamos

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 27
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import platform
    [Major, Minor, _] = platform.python_version().split('.')
    Ca ne marche pas '_' est une variable !

    Citation Envoyé par tyrtamos Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Major, Minor = platform.python_version().split('.')[:-1])
    Dans ce cas précis ça marche mais j'aurai voulu quelquechose de plus générique (non non je suis pas chiant ... )

  5. #5
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 481
    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 481
    Points : 9 280
    Points
    9 280
    Billets dans le blog
    6
    Par défaut
    Qu'est-ce que tu entends par "générique"? La solution proposée avec le '[:-1]' à la fin, élimine la dernière valeur de la liste. Je ne vois pas plus simple pour répondre à ton pb.

    Tyrtamos

  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 923
    Points : 7 322
    Points
    7 322
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import platform
    [Major, Minor, Sub] = platform.python_version().split('.')
    del Sub
    bricolage, mais efficace

  7. #7
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 751
    Points
    1 751
    Par défaut
    Bonsoir.

    Sous Python 3, le code ci-dessous renvoie sys.version_info(major=3, minor=1, micro=1, releaselevel='final', serial=0) .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #! /usr/bin/env python3
    import sys
    print(sys.version_info)
    Du coup, on peut avoir les infos via par exemple print(sys.version_info.major) . Il est toujours possible d'utiliser print(sys.version_info[0]) .

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    Citation Envoyé par Madmaxx18 Voir le message
    Citation Envoyé par fred1599 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import platform
    [Major, Minor, _] = platform.python_version().split('.')
    Ca ne marche pas '_' est une variable !
    Et alors ? C'est assez conventionnel d'utiliser _ comme nom de variable qui ne nous intéresse pas, le _ est assez discret et indique bien que sa valeur ne nous intéresse pas (par convention).

    Personnellement j'écrirais plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Major, Minor, _ = platform.python_version().split('.')
    La liste ne sert à rien...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 27
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par dividee Voir le message
    Et alors ? C'est assez conventionnel d'utiliser _ comme nom de variable qui ne nous intéresse pas, le _ est assez discret et indique bien que sa valeur ne nous intéresse pas (par convention).
    C'est conventionnel ok, mais je voudrai même pas la créer. Si une fonction rend 250 variables, on est obligé d'assigné 250 variables ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var1, var2, ..., var250 = maFonctionQuiRetourne250Elem()
    on peut pas avoir un truc du genre qui récupère que les 2 premiers éléments ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var1, var2 = maFonctionQuiRetourne250Elem()

  10. #10
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Points : 970
    Points
    970
    Par défaut
    Citation Envoyé par Madmaxx18 Voir le message
    on peut pas avoir un truc du genre qui récupère que les 2 premiers éléments ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var1, var2 = maFonctionQuiRetourne250Elem()
    bonjour,

    si bien sûr, Tyrtamos t'a déjà mis sur la piste pourtant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var1, var2 = maFonctionQuiRetourne250Elem()[:2]

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/05/2008, 17h22
  2. Des questions toutes bêtes sur l'AS/400
    Par longbeach dans le forum AS/400
    Réponses: 4
    Dernier message: 31/03/2008, 22h56
  3. Question toute bête sur les formulaires
    Par pekka77 dans le forum Langage
    Réponses: 5
    Dernier message: 01/12/2005, 23h45
  4. Question toute bête sur le passage de variable
    Par pekka77 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/11/2005, 12h39
  5. [Dates] Calcul tout bête sur une date...
    Par poah dans le forum Langage
    Réponses: 5
    Dernier message: 01/11/2005, 15h02

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