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 :

Une syntaxe que je ne comprends pas


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arabie Saoudite

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 51
    Points : 35
    Points
    35
    Par défaut Une syntaxe que je ne comprends pas
    Bonsoir à tous,

    Je rencontre le bout de code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    abbrevs = [. 
    (1<<50L, 'P'), 
    (1<<40L, 'T'), 
    (1<<30L, 'G'), 
    (1<<20L, 'M'), 
    (1<<10L, 'k'), 
    (1, '') 
    ]
    Je ne comprends pas très bien les premiers éléments des tulles. Que signifient << et L ??

    Bien cordialement

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arabie Saoudite

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 51
    Points : 35
    Points
    35
    Par défaut
    Et il s'avère que quand je tape ce code chez moi, j'ai une erreur de syntaxe sur "50L".

  3. #3
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 561
    Points : 3 955
    Points
    3 955
    Par défaut
    Salut

    Rapido,

    L'opérateur << est le décalage (shift) à gauche, cela revient à multiplier l'opérande de gauche par la puissance de 2 donnée par l'opérande de droite. Ainsi 1<<2 donne 4 (2^2), 1<<5 donne 32 (2^5). Clair ? Cet opérateur provient du langage C à l'origine. Il existe aussi le décalage à droite >> qui divise par la puissance de deux correspondante.

    Pour te rendre compte visuellement du résultat de ces opérateurs, convertit les valeurs en binaire avec bin(1<<50) par exemple.

    Quant au L, il désignait un entier long (voire très long) sous Python 2, la distinction entier/entier long a été supprimée dans Python 3 et la notation n'est donc plus supportée. Elimine les L pour résoudre ton problème sous Python3

    Cdlt

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arabie Saoudite

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 51
    Points : 35
    Points
    35
    Par défaut
    Ah super, merci !

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur banc de test
    Inscrit en
    Mai 2014
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur banc de test
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 199
    Points : 482
    Points
    482
    Par défaut
    kilo, Mega, Giga, Tera, Peta, c'est tout simplement pour la représentation de valeur avec un préfixe binaire.

    1 kbits à partir de 1024 (1<<10) bits, puis 1 Mbits 1024*1024 (1<<20), 1 Gbits 1024*1024*1024 (1<<30) etc..

    préfixe binaire != préfixe SI

    1 kilogramme faisant bien 1000 grammes et non 1024. D'où certaines annotations avec kibi/mébi/... préfixes CEI

Discussions similaires

  1. une erreur que je ne comprend pas
    Par shyx21 dans le forum C#
    Réponses: 3
    Dernier message: 02/04/2008, 18h25
  2. Une erreur que je ne comprend pas
    Par Macss dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/12/2007, 19h44
  3. Explication d'une classe que je ne comprends pas svp
    Par beegees dans le forum Langage
    Réponses: 8
    Dernier message: 15/04/2007, 13h12
  4. [Tableaux] Une erreur que je ne comprend pas
    Par bibom dans le forum Langage
    Réponses: 2
    Dernier message: 01/08/2006, 18h47
  5. [PostGreSQL] une erreur que je ne comprends pas
    Par flo78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/02/2006, 10h18

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