More flexible type support for `math.prod` and `math.sumprod`

Ouverte
#13,501 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
48/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
tooling

Piste de recherche

Commencez par examiner les stubs de types de math.prod et math.sumprod, puis comparez leur comportement avec le stub de builtins.sum. Utilisez les exemples liés de Mypy Playground pour vérifier l'inférence de Decimal, Fraction et complex, et confirmez les types obtenus ainsi que les éventuels problèmes de compatibilité avant de considérer l'issue comme terminée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

stubs: improvement

Also related to https://github.com/python/typeshed/issues/11913

Currently, math.prod and math.sumprod do not properly support Decimal, Fraction, complex, or possibly other numeric types. This makes it inconvenient to replace builtins.sum with math.prod in a straightforward manner.

from typing import reveal_type
from fractions import Fraction
from math import prod

a = prod([Fraction(1), Fraction(2)])
reveal_type(a)  # it should be Fraction | Literal[1], but float for now

prod([complex(1, 0), complex(1, 2)])

Mypy Playground Link

I believe it should be followed the type stub of builtins.sum, but I’m not sure what breaking changes this might cause.

Langage dominant
Python
Étoiles
5.1k
Forks
2.1k
Merge moyen
2 j 1 h
PR mergées (30 j)
115

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de python/typeshed

Toutes les issues de python/typeshed

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.