Aller au contenu

Aide-mémoire — Types#

essentiel

Types de base#

Type Exemple Mutable
int 42, -7, 0b101, 0x1F non
float 3.14, 1e10 non
complex 2+3j non
bool True, False non
str "texte", 'texte' non
NoneType None non
list [1, 2, 3] oui
tuple (1, 2, 3) non
set {1, 2, 3} oui
frozenset frozenset({1, 2}) non
dict {"a": 1, "b": 2} oui

Piège

Un tuple est immuable, mais son contenu ne l'est pas forcément : t = ([1], [2]) interdit t[0] = ... tout en autorisant t[0].append(3). Une clé de dict ou un élément de set doit être hachable : str, int, float, bool, tuple de hachables. Une list ou un dict ne peut donc pas servir de clé.

Vérifier / obtenir le type#

type(42)                  # <class 'int'>
isinstance(42, int)       # True
isinstance(42, (int, float))  # True si l'un des deux

Conversions (casting)#

int("42")        # 42
int("101", 2)     # 5 (base 2)
int(3.9)          # 3 (troncature, pas d'arrondi)
float("3.14")     # 3.14
str(42)           # "42"
bool(0)           # False
bool("")          # False
bool([])          # False
list("abc")       # ['a', 'b', 'c']
tuple([1, 2])     # (1, 2)
set([1, 1, 2])    # {1, 2}

Valeurs "falsy"#

False, None, 0, 0.0, "", [], (), {}, set() — tout le reste est "truthy".

Nombres#

7 / 2      # 3.5   (division réelle)
7 // 2     # 3     (division entière)
7 % 2      # 1     (modulo)
2 ** 10    # 1024  (puissance)
divmod(7, 2)  # (3, 1)
round(3.456, 2)  # 3.46

Piège

round() utilise l'arrondi bancaire (au pair le plus proche) : round(0.5) vaut 0, round(1.5) vaut 2.

Chaînes : simple, double, triple#

'texte'
"texte"
'''texte
multi-lignes'''
r"C:\chemin\sans\echappement"   # raw string
b"octets"                        # bytes