Python 3.10 est en préparation

Par:
fredericmazue

jeu, 10/12/2020 - 13:29

Alors que Python 3.9.1 vient de sortir, y compris pour les machines Apple M1, la version 3.10 du célèbre langage est déjà en préparation. Le projet Python vient de communiquer à ce sujet.

Même si les fonctionnalités décrites dans le billet mentionné ci-dessus sont susceptibles d'être modifiées, il est au moins deux nouveautés dont on peut penser qu'elles feront bien partie de Python 3.1.

Tout d'abord, l'évaluation différée des annotations qui a été introduite dans Python 3.7, et qui devait être activée par une directive spécifique, deviendra le comportement par défaut. Elle sera donc automatiquement activée, même si la directive spécifique mentionnée n'est pas utilisée.

Un nouvel opérateur d'union de type est introduit. Cet opérateur procure une manière plus propre d'exprimer 'soit le type X soit le type Y' sans passer par le type Union explicitement.

Précédemment on pouvait par exemple écrire ceci :

def square(number: Union[int, float]) -> Union[int, float]:
    return number ** 2

Avec Python 3.10, la déclaration sera plus concise et plus claire.

def square(number: int | float) -> int | float:
    return number ** 2