Fonctions

Déclarer une fonction

Scope

Pointeur

Valeur par défaut

Paramètres nommés

Retourner plusieurs valeurs

Pour retourner plusieurs valeurs, on retourne un tuple — une liste de valeurs séparées par des virgules.

def f():
    return "hello", "world"

s1, s2 = res = f()

print(res)            # ('hello', 'world')
print(res[0], res[1]) # hello world
print(s1, s2)         # hell world

Le underscore est utilisé pour ignorer des valeurs:

def f():
    return 1,2,3,4,5

a, _, c, _, e = f()
print(a, c, e) # 1 3 5

Prendre un nombre indéfini d’arguments

Documentation

Lambda

input()

La fonction input() permet de récupérer une valeur entrée interractivement par l’utilisateur. Le script est temporairement interrompu jusqu’à ce que l’utilisateur soumettre une valeur (avec la touche Entrée).

text = input("Enter a value [default]:") or "default"
print("Your value is:", text)


Générateurs

Décorateurs

functools.wrap

functools.partial

Type hinting

Depuis Python 3.5, il est possible d’indiquer le type de données attendu et retourné par une fonction. Notons que ces indications n’ont aucune incidances sur l’exécution du code — l’interpréteur ne va pas lever d’erreur si le type de donnée d’une valeur ne correspond pas à celui attendu par la fonction. Elles ne sont là que pour rendre le code plus facile à comprendre.

def addTwo(x : int) -> int:
    return x + 2

addTwo(2)

On peut également créer ses propres types:

from typing import List

Vector = List[float]
Matrix = List[Vector]

def addMatrix(a : Matrix, b : Matrix) -> Matrix:
    result = []
    for i,row in enumerate(a):
        result_row =[]
        for j, col in enumerate(row):
            result_row += [a[i][j] + b[i][j]]
        result += [result_row]
    return result

x = [[1.0, 0.0], [0.0, 1.0]]
y = [[2.0, 1.0], [0.0, -2.0]]
z = addMatrix(x, y)