@ccueil Colles

Programmation en Python

Variables: affectation et opérations



Définition et déclaration

En informatique/algorithmique, une variable est caractérisée par
Un identificateur
Plus couramment son nom, qui va permettre de l'identifier. Ce nom peut contenir généralement des lettres (minuscules et majuscules étant différenciées) et des chiffres (pas en premier).
un type
Il décrit le contenu de la variable et indique à l'interpréteur python la manière de manipuler la variable et les opérations qui peuvent lui être appliquées
Un contenu
Le contenu est la valeur elle-même de la variable
Pour déclarer et affecter une valeur à une variable, on utilise simplement =, par exemple ,
a=2
autrevariable=3.75
c=a+autrevariable
Pour demander explicitement d'afficher les valeurs précédentes, on peut rajouter aux 3 lignes précédentes:
print(a) 
print(autrevariable)
print(c)

Types

Python manipule un certain nombre de types déjà définis et assez usuels, les plus fondamentaux étant
int
les nombres entiers, int, pour integer ou intègre, entier, non partagé, divisé…
par exemple,
a=2
b=3
c=a+b
float
les nombres décimaux, float pour floating point numbers, ou nombres à virgule flottante ou, en abrégé, flottants.
C'est le type de nombre utilisé pour décrire des nombres réels, par exemple,
a=2.56
b=8.1234567
c=3.0
str
les chaînes de caractères, ou texte, pour string, chaîne.
Les chaîne de caractères se déclarent avec des guillemets ou apostrophes, par exemple,
a="Bonjour"
b=' toi'
c=a+b
print(c)
Deux autres types assez courants peuvent être ajoutés: complex pour les nombres complexes (1j désignant l'imaginaire pur de carré -1) et bool pour les expressions booléennes: deux seules valeurs possibles, Vrai ou Faux (ou 0 ou 1 …).

En python, le typage est implicite et dynamique:
implicite
il n'y a pas besoin de prévenir python, la déclaration d'une variable définit automatiquement son type.
Par exemple, a=3 définit la variable nommée a, de type int, et avec la valeur 3.
L'instruction nouveaunombre=3.756 définit la variable nommée nouveaunombre ayant pour valeur 3.756, et donc de type float.
dynamique
le type d'une variable peut évoluer selon les opérations qui lui sont effectuées.
Par exemple, l'instruction a=3 définit la variable de type int, mais
a=3
print(a,type(a))
a=6.2*a
print(a,type(a))
affiche que la variable a est maintenant de type float.

Opérations sur les variables

Les opérations dépendent du type des variables sur lesquelles on les applique. L'addition et la multiplication par exemple, notée + et * en python comme à peu près partout, ont un sens différent sur des nombres ou des chaînes de caractères. Essayer:
a=3
b=6.32
c=a+b
print(c)
et
a="Bonjour "
b=a+a
print(b)
c=12
d=c*a
print(d)
Les opérations numériques courantes +, -, /, * pour les quatre opérations et ** pour la puissance sont bien sûr connues par python.
Pour des chaînes de caractères, l'addition désigne la concaténation, c'est-à-dire qu'on crée une nouvelle chaîne de caractères en mettant les deux précédentes bout à bout, par exemple,
a="Bonjour "
b="toi"
c=a+b
print(c)

d="12"
e="34"
f=d+e
print(f)


Entrées / sortie: input & print

Il est assez fondamental de pouvoir interagir avec l'utilisateur d'un programme, ne serait-ce que pour afficher le résultat d'un calcul ou du programme.
La fonction print affiche la, ou les, variables qui lui sont données en argument. Par exemple,
a=2.56
b=8.1234567
print(a*b)
calcule et affiche le produit des deux nombres.
On peut afficher le contenu de plusieurs variables, de différents types, par exemple ,
a=2.56
b=8.1234567
print("a=",a)
print("b=",b)
print("Le produit de ",a," et ",b," est: ",a*b) 

Dans l'autre sens, la fonction input permet de demander une valeur à l'utilisateur.
Par exemple,
input("Tout va bien jusque là ?")
va afficher une boîte de dialogue, avec le texte Tout va bien jusque là ? et avec un champ dans lequel l'utilisateur peut inscrire ce qu'il souhaite.
La seule ligne précédente ne fait rien de plus, par contre
R=input("Tout va bien jusque là ?")
print(R)
récupère la réponse de l'utilisateur dans la variable R et l'affiche ensuite.

Par défaut, la fonction input manipule une chaîne de caractère (str). Si on souhaite demander un nombre à l'utilisateur, il faut l'indiquer en précisant le type int ou float, par exemple
n=int(input("Donner un nombre entier "))
print(n," (de type ",type(n),")")
x=float(input("Donner un nombre réel "))
print(x," (de type ",type(x),")")


QCM : manipulation de variables et instructions générales en python lien

Structures de base en python

Programmation en python