Les opérateurs python


Les opérateurs python

  1. Objectifs
    • Connaitre les opérateurs de python.
  2. Définitions

    • Un opérateur est un symbole (ou un mot réservé) utilisé pour effectuer une opération entre des opérandes.
    • Une opérande est une variable, un littéral ou bien une expression.
    • Un opérateur peut être unaire ou binaire.
    • Les opérateurs fonctionnent avec des opérandes.
    • Un opérateur est lié à un type de données.




  3. Les opérateurs

    1. Les opérateurs arithmétiques.
      • Les opérateurs arithmétiques utilisent des valeurs numériques (variables ou littéraux) comme opérandes et renvoient une valeur numérique.
      • L’addition (+), la soustraction (), la multiplication (*), et la division (/) et % sont appelés opérateurs arithmétiques.
      • Les opérateurs arithmétiques permettent d’effectuer des calculs sur le contenu des variables.
        • x + y # Addition
        • x – y # Soustraction
        • x * y # Multiplication
        • x / y # Division
        • x // y # Pour obtenir le quotient de la division de a par b, il suffit d’écrire x//y.
        • x % y # Modulo (reste) Pour obtenir le reste de la division de a par b, il suffit d’écrire x%y.
        • -x # Opposé – opérateur unaire
        • abs(x) # Valeur absolue – opérateur unaire
        • x ** y # Puissance
      • Certains opérateurs peuvent avoir des comportements différents en fonction des types d’opérandes sur lesquels ils agissent : on parle alors de surcharge des opérateurs. Exemple :
        • +” additionne des nombres, mais concatène des chaines de caractères.
        • *” multiplie des nombres entre eux, mais duplique des chaines de caractères.

        La différence entre x/y et x//y est que le premier donne une valeur approchée décimale à 16 chiffres après la virgule alors que la deuxième nous donne l’entier q tel que 0 <= x-yq < y.

    2. Les opérateurs de comparaison.
      • Tout comme les opérateurs logiques, les opérateurs de comparaison renvoient une valeur booléenne “True” ou “False”. Les opérateurs de comparaisons s’appliquent sur tous les types de base.
      • x < y # Inférieur
      • x <= y # Inférieur ou égal
      • x > y # Supérieur
      • x >= y # Supérieur ou égal
      • x == y # Égal (attention !)
      • x != y # Différent
      • x <> y # Différent
      • x is y # Identité
      • x is not y # Non identité
      • L’égalité de deux valeurs est comparée avec l’opérateur " == " et non " = ". Ce dernier est en effet l’opérateur d’affectation et ne doit pas être utilisé dans une condition.

    3. Les opérateurs logiques.
      • Pour réunir des expressions booléennes :
      • x and y # Intersection
      • x or y # Union
      • not y # Négation
    4. Les opérateurs d’affectation.
      • L’affectation est l’instruction qui associe une valeur à une variable.
      • Elle est symbolisée par le signe ‘=‘.
      • Attention à ne pas confondre l’affectation avec un test d’égalité !
      • L’affection ‘x = 98‘ se lit “x reçoit 98“.
      • La partie droite est d’abord évaluée, son résultat est ensuite stocké dans la partie gauche.
      • En Python, l’affectation est une instruction et non pas une opération, elle n’a donc pas de valeur.
      • x = 98 # Affectation simple
      • y = 98 > 50 # ‘y’ sera True ou False
      • x = y
      • x == y # Attention, test d’égalité ! Retourne True dans notre cas.
      • l1 = l2 = [] # Affectation multiple
      Opérateur Exemple Equivalent à Description
      = x = 1 x = 1 Affecte 1 à la variable x
      += x += 1 x = x + 1 Ajoute 1 à la dernière valeur connue de x et affecte la nouvelle valeur (l’ancienne + 1) à x
      -= x -= 1 x = x – 1 Enlève 1 à la dernière valeur connue de x et affecte la nouvelle valeur à x
      *= x *= 2 x = x * 2 Multiplie par 2 la dernière valeur connue de x et affecte la nouvelle valeur à x
      /= x /= 2 x = x / 2 Divise par 2 la dernière valeur connue de x et affecte la nouvelle valeur à x
      %= x %= 2 x = x % 2 Calcule le reste de la division entière de x par 2 et affecte ce reste à x
      //= x //= 2 x = x // 2 Calcule le résultat entier de la division de x par 2 et affecte ce résultat à x
      **= x **= 4 x = x ** 4 Elève x à la puissance 4 et affecte la nouvelle valeur dans x
  4. Priorité des opérations

    • Lorsqu’il y a plus d’un opérateur dans une expression, l’ordre dans lequel les opérations doivent être effectuées dépend de règles de priorité.
    • Sous Python, les règles de priorité sont les mêmes que celles qui vous ont été enseignées au cours de mathématique. Vous pouvez les mémoriser aisément à l’aide d’un "truc" mnémotechnique, l’acronyme PEMDAS :

      • P pour parenthèses. Ce sont elles qui ont la plus haute priorité. Elles vous permettent donc de "forcer" l’évaluation d’une expression dans l’ordre que vous voulez. Ainsi 2*(3-1) = 4 , et (1+1)**(5-2) = 8.
      • E pour exposants. Les exposants sont évalués ensuite, avant les autres opérations. Ainsi 2**1+1 = 3 (et non 4), et 3*1**10 = 3 (et non 59049 !).
      • M et D pour multiplication et division, qui ont la même priorité. Elles sont évaluées avant l’addition A et la soustraction S, lesquelles sont donc effectuées en dernier lieu. Ainsi 2*3-1 = 5 (plutôt que 4), et 2/3-1 = -0.3333… (plutôt que 1.0).
      • Si deux opérateurs ont la même priorité, l’évaluation est effectuée de gauche à droite.
      • Ainsi dans l’expression 59*100//60, la multiplication est effectuée en premier, et la machine doit donc ensuite effectuer 5900//60, ce qui donne 98. Si la division était effectuée en premier, le résultat serait 59 (rappelez-vous ici que l’opérateur // effectue une division entière, et vérifiez en effectuant 59*(100//60)).
    • Le tableau suivant résume la priorité des opérateurs en Python, de la priorité la plus élevée (la plus contraignante) à la priorité la plus basse (la moins contraignante).
    • Les opérateurs dans la même boîte ont la même priorité. Sauf si la syntaxe est explicitement donnée, les opérateurs sont binaires.
    • Les opérateurs d’une même boîte regroupent de gauche à droite (sauf pour l’exponentiation, qui regroupe de droite à gauche).
      • Opérateur La description
        () Parenthèses (regroupement)
        f (args …) Appel de fonction
        x [index: index] Tranchage
        x [index] Abonnement

        x.attribut
        Référence d’attribut
        ** Exponentiation
        L’opérateur power **lie moins étroitement qu’un opérateur unaire arithmétique ou bit à bit à sa droite, c’est-à- 2**-1dire 0.5.
        ~ x Pas au niveau du bit
        + x , – x Positif négatif
        *, /,% Multiplication, division, reste
        +, – Addition soustraction
        <<, >> Décalages au niveau du bit
        & ET au niveau du bit
        ^ XOR au niveau du bit
        | OU au niveau du bit
        dans, pas dans, est, n’est pas, <, <=,>,> =,
        <>,! =, ==
        Comparaisons, appartenance, identité
        pas x Booléen NOT
        et ET booléen
        ou OU booléen
        lambda Expression Lambda
  5. Applications

  6. App01




Sommaire du cours Python



Riadh HAJJI

Abonnez vous à notre chaîne YouTube gratuitement