Calculs et variables python

Calculs

Une des premières fonctionnalités d'un interpréteur est de faire des calculs:

>>> 1+2
3

Vous pouvez ajouter des espaces, cela n'aura pas d'incidences:

>>> 1 + 2
3

Tous les opérateurs sont utilisables:

>>> 1-10
-9
>>> 2*10
20
>>> 100/4
25
>>> 10%4
2
>>> 2**3
8

La double étoile représente l'exposant.

Il existe cependant une erreur à éviter pour les versions Python inférieures à Python 3:

>>> 10/3
3

Suprise 10/3 = 3 . Alors quelle est donc cette folie? Python raisonne en nombres entiers puisque nous lui avons fourni deux nombres entiers. Pour avoir un résultat en décimales, il vous faudra utiliser cette syntaxe:

>>> 10.0/3
3.3333333333333335
>>> 10/3.0
3.3333333333333335

Les variables

Une variable est une sorte de boite virtuelle dans laquelle on peut mettre une (ou plusieurs) donnée(s). L'idée est de stocker temporairement une donnée pour travailler avec. Pour votre machine une variable est une adresse qui indique l'emplacement de la mémoire vive où sont stockées les informations que nous avons liées avec.

Affectons une valeur à la variable age que nous allons ensuite afficher:

>>> age = 30
>>> age
30
On va ensuite ajouter 10 à la valeur de cette variable:
>>> age = 30
>>> age = age + 10
>>> age
40
Il est possible de mettre une variable dans une autre variable.
>>> age = 30
>>> age2 = age
>>> age2
30

Vous pouvez mettre à peu près tout ce que vous voulez dans votre variable, y compris du texte:

>>> age = "J'ai 30 ans"
>>> age
"J'ai 30 ans"

Il est possible de concaténer, c'est à dire d'ajouter du texte à du texte:

>>> age = age + " et je suis encore jeune!"
>>> age
"J'ai 30 ans et je suis encore jeune!"

Vous pouvez même multiplier une chaine de caractères:

>>> age = "jeune"
>>> age * 3
'jeunejeunejeune'

Evidemment, si vous essayez de faire des additions avec des variables qui sont des chiffres et d'autres qui sont du texte, l'interpréteur va vous gronder:

>>> age = "J'ai 30 ans"
>>> age
"J'ai 30 ans"
>>> age + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

Vous remarquez que l'interpréteur est sympa puisqu'il vous dit ce qui ne va pas: Il ne peut pas concaténer str et int.

Echapper les quotes

Comment inclure le caractère quote puisqu'il indique un début de données et en fin de données?

>>> texte = "Bonjour je m'appelle \"Olivier\""
>>>  texte
Bonjour je m'appelle "Olivier"

ou

>>> texte = 'Bonjour je m\'appelle "Olivier"'
>>> texte
'Bonjour je m\'appelle "Olivier"'

Il existe une autre manière de stocker du texte dans une variable: l'utilisation d'un triple quote. Cela permet de ne pas échapper les caractères quotes des données

>>> texte = """
... Bonjour je m'appelle "olivier"
... """
>>> texte
'\nBonjour je m\'appelle "olivier"\n'

Nommer une variable

Vous ne pouvez pas nommer les variables comme bon vous semble, puisqu'il existe déjà des mots utilisés par Python. Voici la liste des mots réservé par python:

print in and or if del for is raise assert elif from lambda return break else global not try class except while continue exec import pass yield def finally

Pourquoi ces mots sont-ils réservés? Parce qu'ils servent à faire autre chose. Nous verrons quoi plus en détail dans les prochains chapitres.

Pour nommer une variable vous devez obligatoirement utiliser les lettres de l'alphabet, les chiffres et le caractère "_" et "-". N'utilisez pas les accents, ni les signe de ponctuation ou le signe @. De plus les chiffres ne doivent jamais se trouver en première position dans votre variable:

>>> 1var = 1
  File "<stdin>", line 1
    1var = 1
       ^
SyntaxError: invalid syntax

Comme vous le remarquez, python refuse ce genre de syntaxe, mais il acceptera var1 = 1.

Les types de variables

En python une variable est typée, c'est à dire qu'en plus d'une valeur, une variable possède une sorte d'étiquette qui indique ce que contient cette boite virtuelle.

Voici une liste de type de variable:

Il en existe plein d'autres mais il est peut être encore un peu trop tôt pour vous en parler.

Pour connaitre le type d'une variable, vous pouvez utiliser la fonction "type()"
>>> v = 15
>>> type(v)
<type 'int'>
>>> v = "Olivier"
>>> type(v)
<type 'str'>
>>> v = 3.2
>>> type(v)
<type 'float'>