II. Types de données nombre et chaîne de caractères▲
- Les nombresLes types numériques
- Les chaînes de caractèresLes chaînes de caractères
- Les constantesLes constantes
- Les opérateurs intégrésLes opérateurs intégrés
Le type d’une variable est déterminé automatiquement par Python. Il suffit d’attribuer une valeur à la variable avant de l'utiliser ailleurs - comme une fonction d'affichage ou une partie de l'expression.
II-A. Les types numériques▲
- Exemples sur les entiers :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
>>>
num1 =
7
>>>
num2 =
42
>>>
total =
num1 +
num2
>>>
print
(
total)
49
>>>
total
49
# Pas de limite à la précision des nombres entiers, uniquement limitée par la mémoire disponible
>>>
34
**
32
10170102859315411774579628461341138023025901305856
# L’utilisation d’une barre oblique simple / produit un résultat à virgule flottante
>>>
9
/
5
1.8
# L’utilisation de barres obliques doubles // ne donne que la partie entière du résultat sans arrondi
>>>
9
//
5
1
>>>
9
%
5
4
- Exemples sur les nombres à virgule flottante :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
>>>
appx_pi =
22
/
7
>>>
appx_pi
3.142857142857143
>>>
area =
42.16
>>>
appx_pi +
area
45.30285714285714
>>>
num1
7
>>>
num1 +
area
49.16
- La notation scientifique peut être aussi utilisée :
2.
3.
4.
5.
6.
7.
>>>
sci_num1 =
3.982e5
>>>
sci_num2 =
9.32e-1
>>>
sci_num1 +
sci_num2
398200.932
>>>
2.13e21
+
5.23e22
5.443e+22
- Les nombres binaires sont préfixés par 0b ou 0B (c'est-à-dire le chiffre 0 suivi de la lettre majuscule / minuscule b) ;
- Les nombres en base 8(octal) sont préfixés par 0o ou 0O (c'est-à-dire le chiffre 0 suivi de la lettre majuscule / minuscule o) ;
- De même, les nombres hexadécimaux sont précédés de 0x ou 0X :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
>>>
bin_num =
0
b101
>>>
oct_num =
0
o12
>>>
hex_num =
0xF
>>>
bin_num
5
>>>
oct_num
10
>>>
hex_num
15
>>>
oct_num +
hex_num
25
Le caractère _ peut être utilisé entre les chiffres pour plus de lisibilité. Cette notion a été introduite dans Python v3.6.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
>>>
1
_000_000
1000000
>>>
1
_00.3
_352
100.3352
>>>
0xff
_ab1
1047217
# La mise en forme f-strings sera expliquée dans un chapitre ultérieur
>>>
num =
34
**
32
>>>
print
(
f'
{num:_}
'
)
10
_170_102_859_315_411_774_579_628_461_341_138_023_025_901_305_856
II-A-1. Lectures complémentaires▲
- Python docs - numbers
- decimal
- fractions
- complex
- Python docs - keywords : ne pas les utiliser comme variables
II-B. Les chaînes de caractères▲
- les chaînes de caractères peuvent être déclarées en utilisant des guillemets simples ou doubles.
- Lorsque la chaîne elle-même contient des guillemets doubles et simples, utilisez \ pour échapper les guillemets qui font partie de la chaîne.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
>>>
str1 =
'This is a string'
>>>
str1
'This is a string'
>>>
greeting =
"Hello World!"
>>>
greeting
'Hello World!'
>>>
weather =
"It's a nice and warm day"
>>>
weather
"It's a nice and warm day"
>>>
print
(
weather)
It's a nice and warm day
>>> weather = '
It\'s a nice and warm day'
>>>
print
(
weather)
It's a nice and warm day
Les séquences d'échappement comme le caractère de retour à la ligne \n peuvent être utilisées dans la déclaration d’une chaîne de caractères.
2.
3.
4.
5.
6.
7.
8.
>>>
colors =
'Blue
\n
Red
\n
Green'
>>>
colors
'Blue
\n
Red
\n
Green'
>>>
print
(
colors)
Blue
Red
Green
Utilisez le préfixe r (r pour raw (brut)) si vous ne voulez pas que les séquences d'échappement soient interprétées. Ce préfixe est couramment utilisé avec des expressions régulières, lire Correspondance de modèle et extractionTraitement de texte pour avoir des exemples.
2.
3.
4.
5.
6.
7.
>>>
raw_str =
r'Blue\nRed\nGreen'
>>>
print
(
raw_str)
Blue\nRed\nGreen
# Pour voir comment les chaînes de caractères sont stockées en interne
>>>
raw_str
'Blue
\\
nRed
\\
nGreen'
- Concaténation des chaînes de caractères et répétitions :
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
>>>
str1 =
'Hello'
>>>
str2 =
' World'
>>>
print
(
str1 +
str2)
Hello World
>>>
style_char =
'-'
>>>
style_char *
10
'----------'
>>>
word =
'buffalo '
>>>
print
(
word *
8
)
buffalo buffalo buffalo buffalo buffalo buffalo buffalo buffalo
# Python v3.6 permet l'interpolation des variables avec les f-strings
>>>
msg =
f'
{str1}
there'
>>>
msg
'Hello there'
- Chaînes de caractères entre triples guillemets. Comme les chaînes de caractères simples, """ ou ''' peuvent être utilisés ainsi que les caractères d'échappement en utilisant \,
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#!/usr/bin/python3
"""
Cette ligne fait partie d’un commentaire multiligne
Ce programme montre des exemples de chaînes de caractères entre triples guillemets
"""
# attribuer plusieurs chaînes de caractères à la variable
poem =
"""\
The woods are lovely, dark and deep,
But I have promises to keep,
And miles to go before I sleep,
And miles to go before I sleep.
"""
print
(
poem, end=
''
)
Les chaînes de caractères entre triples guillemets sont également utiles pour la documentation du code. Voir le chapitre DoctringsDocstrings pour des exemples.
2.
3.
4.
5.
6.
$ ./
triple_quoted_string.py
The woods are lovely, dark and
deep,
But I have promises to keep,
And miles to go before I sleep,
And miles to go before I sleep.
$
- Python docs - f-strings - pour plus d'exemples et de mises en garde
II-C. Les constantes▲
- Paraphrasé à partir de docs Python – constantes
- None est la seule valeur du type NoneType
- None est souvent utilisé pour représenter l'absence de valeur
- False : la valeur fausse du type booléen
- True : la valeur vraie du type booléen
- Python docs - Truth Value Testing
II-D. Les opérateurs intégrés▲
-
Opérateurs arithmétiques
- + addition
- - soustraction
- * multiplication
- / division (résultat à virgule flottante )
- // division (division entière, le résultat n'est pas arrondi)
- ** exponentiation
- % modulo (reste de la division entière).
-
Les opérateurs de chaîne de caractères
- + concaténation de chaîne de caractères
- * répétition de chaîne de caractères
-
Les opérateurs de comparaison
- == égal à
- > plus grand que
- < plus petit que
- != différent
- >= supérieur ou égal à
- <= inférieur ou égal à
-
logique booléenne
- and et logique
- or ou logique
- not non logique
-
opérateurs bit à bit
- & et
- | ou
- ^ ou exclusif
- ~ bits inversés
- >> décalage à droite
- << décalage à gauche
Et plus encore…
II-E. Lectures complémentaires▲
- Python docs - Numeric types – Liste complète des opérations et des priorités.
- Python docs - String methods