TypeDict "dict style" positional arguments
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 1.8k
- Forks
- 302
- Merge moyen
- 23 h
- PR mergées (30 j)
- 8
Description
Hi.
I'm just curious why passing arguments to TypeDict is strictly constrained. I tried some variants including positional arguments style and failed. It's not reflected in docs or function signature (ctrl + p in Pycharm)
https://docs.python.org/3/library/typing.html#typing.TypedDict
In [1]: from typing import TypedDict
In [2]:
...: ProfileText = TypedDict(name='ProfileText', fields={'name': str, 'non variable key': str}, total=False) # Error
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-7d3b7c9254f3> in <module>
----> 1 ProfileText = TypedDict(name='ProfileText', fields={'name': str, 'non variable key': str}, total=False) # Error
TypeError: _typeddict_new() missing 1 required positional argument: 'typename'
In [3]:
...: ProfileText = TypedDict('ProfileText', {'name': str, 'non variable key': str}, total=False) # Error
In [4]:
...: ProfileText = TypedDict('ProfileText', {'name': str, 'non variable key': str}, False) # Error
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-b3b55e028c98> in <module>
----> 1 ProfileText = TypedDict('ProfileText', {'name': str, 'non variable key': str}, False) # Error
TypeError: _typeddict_new() takes from 2 to 3 positional arguments but 4 were given
In [5]:
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
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
L’issue mentionne le point d’entrée TypedDict et la documentation de Python typing ; commencez par comparer les formes d’appel montrées, avec arguments nommés et positionnels, à cette documentation. Déterminez quelle convention d’appel doit être prise en charge, puis définissez l’achèvement comme un comportement, des informations de signature, une documentation et des tests cohérents pour la forme acceptée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- devtools
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100