Document type inference behavior in case type declaration has (not) initializer
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 20.6k
- Forks
- 3.3k
- Métriques de merge des PR
- Métriques de PR en attente
Description
In cases like this mypy doesn't narrow down the type in assignment:
x: Union[int, str] = 0
# type of x is Union[int, str] here!
Any assignment after the initial declaration will narrow the type down:
x: Union[int, str]
x = 0
# type of x is int here!
Document this behavior since it can be surprising. The motivation for this is that this behavior makes it easy to override the inferred type for a variable, which is sometimes useful.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Utilisez les deux exemples de l’issue comme source de documentation : comparez une déclaration avec un initialiseur à une affectation ultérieure, et expliquez la différence de comportement du narrowing ainsi que les raisons pour lesquelles il peut être utile de remplacer le type inféré. Repérez la section appropriée de la documentation de mypy, ajoutez-y l’explication et vérifiez que les deux exemples et leurs types inférés sont corrects.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- documentation
- Type d'issue
- Documentation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100