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 559
    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 559
    Points : 3 948
    Points
    3 948
    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

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  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