6
Python n'est pas un langage de calcul formel (pas exactement voir sympy par exemple). Il ne peut pas affecter à une variable
une expression d'une autre variable non affectée.
Affectations multiples
>>> a, b, c = 1, 2, 3 >>> a, b, c = c, b, a # Que valent a, b, c ?
Remarques : Voir plus loin le bel exemple de Fibonnacci.
Abréviations d'affectations classiques
>>> a = a + 1 peut se noter >>> a += 1
Remarque non débutant : Cette 2
eme
syntaxe est interprétée plus efficacement par python c'est l'incrémentation. Bien entendu
l'éviter pour débuter, fait économiser 1 caractère et ça me perd.
Restart : Célèbre commande Maple existe dans le menu de Python shell.
Type des données affectées aux variables. Opérations élémentaires.
C'est un point essentiel d'ou sa longueur. Bien comprendre les types des données que l'on manipule est indispensable à la
compréhension, l'utilisation, la fabrication de programmes en Python.
Exemple : Si un élève confond un vecteur v
∈
3
et un scalaire λ ∈ , le professeur de mathématiques que je suis est fâché,
plutôt désespéré. Python lui Bugue sans crier, problème de type !
Remarques : Dans le shell la commande type(donnée) renvoie le type d'une donnée (on peut aussi dire sa classe). Forcer par
print(type(donnée) ) dans un script.
Remarques : En Python le typage est dynamique. Vous affectez ce que vous voulez à une variable il se débrouille. Autrement
dit pas besoin de préciser le type de la variable avant d'affecter. C'est très pratique.
Type Booleen
True False # respecter la majuscule.
>>> type(True) # renvoie <class 'bool'>
Opérations sur les booléens
or, not, and, ^ (le xor le ou exclusif. Merci pour les maths la notation ^ vraiment merci )
== (l'égalité doit se distinguer du = de l'affectation), != ( le ≠ ) , <, >, <= ( le ), >= ( le )
Remarque :
>>>
a = 2 # Signifie l'affectation de 2 à la variable a.
>>> a == 2 # représente la valeur booléenne vraie si a = 2, fausse si a ≠ 2
Exemples : Qu'affiche Python dans ces cas :
>>> True and not(False) == True ^ False
>>> a= True >>> b = False >>> print( not(a) or b )
>>> a = True >>> b = True >>> print (a and not(b) ) or not(a) )
>>> 10 ^ 2 # renvoie 8 . Réponse : 2^10 = 10
2
^ 1010
2
= 1000
2
= 8 qui a compris ?
Type entier
>>>type(5) #renvoie <class 'int'>
Remarques : Il y a une évolution entre v2 et v3 la dernière accepte les entiers longs.
Opérations sur les entiers
+ , *, , ** (l'exposant, pas ^ rappel ) , / , // (c'est le quotient de la division euclidienne, la aussi évolution de v2 à v3), % (le reste
de la division euclidienne dit aussi modulo)
Type réel
>>> type(3.14) # renvoie < class 'float'>