More flexible type support for `math.prod` and `math.sumprod`
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 48/100
Rechercherichtung
Beginne mit der Untersuchung der Type Stubs für math.prod und math.sumprod und vergleiche anschließend ihr Verhalten mit dem Stub von builtins.sum. Verwende die verlinkten Mypy Playground-Beispiele, um die Inferenz für Decimal, Fraction und complex zu überprüfen, und bestätige die resultierenden Typen sowie etwaige Kompatibilitätsbedenken, bevor du das Issue als erledigt betrachtest.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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)])
I believe it should be followed the type stub of builtins.sum, but I’m not sure what breaking changes this might cause.
- Vorherrschende Sprache
- Python
- Sterne
- 5.1k
- Forks
- 2.1k
- Ø Merge
- 2 T. 1 Std.
- Gemergte PRs (30 T.)
- 115
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python/typeshed
-
`networkx.set_edge_attributes` should support scalar value + nameEvtl. vergeben @Fire162 hat das vor 10 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
Maintainer antworten meist innerhalb von 1 Tag
-
false alarm on decode callEvtl. vergeben @jw9829 hat das vor 37 Tagen übernommen. Offenhelp wanted stubs: false positive
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
python/typeshed#16441 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Don't run pyright basic checks on projects with strict pyright settings in CIEvtl. vergeben @Mohith1612 hat das vor 74 Tagen übernommen. Offenproject: infrastructure
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
python/typeshed#16005 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
stubs: improvement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
python/typeshed#15548 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
stubs: improvement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
python/typeshed#15529 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in python/typeshed
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
521xueweihan/HelloGitHub#4237 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
jejjohnson/gaussx#721 ·
Maintainer antworten meist innerhalb von 1 Tag
-
mock-core-configs/etc/mock/rocky-10-riscv64.cfg contains the wrong architecture in config_opts['root']Evtl. vergeben @jasonmontleon hat das vor 4 Tagen übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 94/100
rpm-software-management/mock#1834 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 75/100
elastic/elastic-otel-python#683 ·
Maintainer antworten meist innerhalb von 1 Tag
-
ci-rerun: collect.py fails a whole pr-babysit cycle on one transient GitHub 5xx and never retriesOffenfollow-up
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag