En passant en revue code src pytest Je trouve cette déclaration étrange, quelqu'un peut-il l'expliquer ?
if False: # TYPE_CHECKING
from typing import Type
Je suis en train de regarder PEP 526 actuellement, et je pense que cela peut être lié d'une manière ou d'une autre aux annotations, mais je ne sais pas exactement comment. Est-il possible que quelqu'un annote False
de manière à ce qu'il soit évalué à True
?
Après un rapide coup d'œil dans le en tapant src, j'ai trouvé ça :
# Constant that's True when type checking, but False here.
TYPE_CHECKING = False
Donc, d'après ce que j'ai compris jusqu'ici, @chepner a raison. Cette déclaration est évaluée à True
lors de l'exécution d'un contrôle de type, et ensuite l'importation réelle est probablement nécessaire. Bien que cela semble toujours très bizarre à mes yeux ( #if DBG
en C était beaucoup plus clair)