Aller au contenu

Built-ins#

essentiel

Entrées / sorties#

print("texte", end="\n", sep=" ")
input("Votre nom : ")   # renvoie toujours une str

Séquences & itération#

len(objet)
range(5); range(2, 10); range(0, 10, 2)
enumerate(liste, start=0)
zip(liste1, liste2)
sorted(liste, key=None, reverse=False)
reversed(liste)

map / filter#

list(map(str.upper, ["a", "b"]))          # ['A', 'B']
list(filter(lambda x: x > 0, [-1, 0, 1]))  # [1]

map et filter renvoient des itérateurs paresseux : les envelopper dans list() pour voir le résultat. Préférer une compréhension quand elle reste lisible : [x.upper() for x in l].

reduce n'est pas un built-in, il vient de functools :

from functools import reduce
reduce(lambda acc, x: acc * x, [1, 2, 3, 4], 1)   # 24 (produit cumulé)

Agrégation#

sum([1, 2, 3])
min([3, 1, 2]); max([3, 1, 2])
min(a, b); max(a, b, c)
any([False, True, False])   # True si au moins un élément truthy
all([True, True, False])     # True si tous truthy

Type & introspection#

type(x)
isinstance(x, int)
id(x)                # identifiant mémoire
callable(x)          # x peut-il être appelé (x())
dir(x)                # liste des attributs/méthodes
hasattr(x, "nom")
getattr(x, "nom", defaut)
setattr(x, "nom", valeur)

Conversion#

int(); float(); str(); bool(); list(); tuple(); set(); dict()
chr(65)    # 'A'
ord("A")    # 65
hex(255); oct(8); bin(5)

Autres fréquents#

abs(-5)          # 5
round(3.456, 1)    # 3.5
pow(2, 10)          # 1024, équivalent à 2 ** 10
pow(2, 10, 1000)     # 24, exponentiation modulaire