IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Les bases de la programmation Python par l’exemple


précédentsommairesuivant

II. Types de données nombre et chaîne de caractères

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 :
 
Sélectionnez
1.
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 :
 
Sélectionnez
1.
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 :
 
Sélectionnez
1.
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 :
 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
>>> bin_num = 0b101
>>> oct_num = 0o12
>>> 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.

 
Sélectionnez
1.
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

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.
 
Sélectionnez
1.
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.

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
>>> colors = 'Blue\nRed\nGreen'
>>> colors
'Blue\nRed\nGreen'

>>> 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.

 
Sélectionnez
1.
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 :
 
Sélectionnez
1.
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 \,
 
Sélectionnez
1.
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.

 
Sélectionnez
1.
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.
$

II-C. Les constantes

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
>>> bool(2)
True
>>> bool(0)
False
>>> bool('')
False
>>> bool('a')
True

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


précédentsommairesuivant

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2018 Sundeep Agarwal. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.