python / python/cpython

`StrEnum.__getitem__` raises `TypeError`

Offen
#128,659 5 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@ethanfurman arbeitet bereits daran.

Seit 09.1.2025.

stdlib type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Bug report

Bug description:
from enum import Enum, StrEnum, auto

class Foo(Enum):
    one = auto()
    two = auto()
    
class Bar(StrEnum):
    one = auto()
    two = auto()
    
names = ["one", "two"]

print([Foo[name] for name in names])
print(list(map(Foo.__getitem__, names)))

print([Bar[name] for name in names])
print(list(map(Bar.__getitem__, names)))  # TypeError: expected 1 argument, got 0
CPython versions tested on:

3.12, 3.13

Operating systems tested on:

macOS

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.