arithmétiques¶
# sans surprise, les 4 opérations arithmétiques
a = 10
b = 25
(a + b) * (b - a)525# une petite subtilité
# toutefois avec la division
# ceci retourne TOUJOURS
# un flottant
25 / 102.5# la division entière
# quant a elle
# se note //
25 // 102typage¶
en Python tous les objets sont typés
le comportement des opérateurs dépend du type
# ajouter deux chaines permet
# de les concatener
'abc' + 'def''abcdef'# on peut même multiplier
# par un entier
3 * 'abc''abcabcabc'arithmétiques - suite¶
# division euclidienne
c = 64
d = 5# le reste
c % d4# le quotient
c // d12# puissance
d ** c # qu'il est grand !542101086242752217003726400434970855712890625# remarque: pas de limite
# de précision avec les entiers
d ** c > 2 ** 64Truecomparaisons¶
a = 10
b = 25a == bFalsea != bTruea <= bTruea < bTrue# une curiosité
6 <= a <= 20True6 <= a <= 25 <= b <= 30Truelogiques¶
6 <= a and b <= 10False6 <= a or b <= 10True# équivalent à
# a != b
not a == bTrueindexation avec []¶
sur tous les objets de type ‘séquence’
c’est-à-dire pour nous à ce stade les chaines
mais on verra que ça s’applique à d’autres, comme les listes (un peu de patience..)
chaine = 'abcdefghij'
len(chaine)10# en python les index commencent à 0
chaine[0]'a'# les index négatifs commencent à la fin
chaine[-1]'j'slices¶
# une 'slice' permet de découper un morceau
# là du caractère d'indice 1 à celui d'indice 4 exclus
chaine[1:4]'bcd'# et même de choisir un pas
chaine[1:8:2]'bdfh'# dans un slice on peut omettre
# n'importe lequel des 3 termes
chaine[3::]'defghij'# ce qui serait ici
# identique à juste
chaine[3:]'defghij'# dans un slice on peut omettre
# n'importe lequel des 3 termes
chaine[:4:]'abcd'# ce qui serait ici
# identique à juste
chaine[:4]'abcd'slices et bornes¶
la forme générale est donc debut:fin:pas
ATTENTION que l’index fin n’est pas inclus
# la convention permet de facilement emboiter les résultats
chaine[0:3] + chaine [3:6] + chaine[6:] == chaineTrue# notez enfin que le pas peut être négatif aussi
# ce qui donne cette forme idiomatique
# pour renverser une séquence
chaine[::-1]'jihgfedcba'