Python-Typanmerkung für Zeichenfolgenfolgen, aber nicht für Zeichenfolgen?Python

Python-Programme
Guest
 Python-Typanmerkung für Zeichenfolgenfolgen, aber nicht für Zeichenfolgen?

Post by Guest »

Gibt es einen Python-Typhinweis, der mit Listen, Tupeln und möglicherweise anderen sequentiellen Typen übereinstimmt, aber nicht mit Zeichenfolgen?

Das Problem besteht darin, dass Zeichenfolgen identisch sind Zeitsequenzen von Zeichenfolgen der Länge 1 (z. B. einzelne Zeichen), sodass sie technisch gesehen mit Sequence[str] übereinstimmen, aber die Bereitstellung einer Zeichenfolge für eine Funktion, die eine Liste von Zeichenfolgen erwartet, ist in vielleicht 100 % der Fälle ein Fehler.

Gibt es eine Möglichkeit, Zeichenfolgen aus der Typanmerkung auszuschließen, um sie so zu gestalten, dass sie dem nicht vorhandenen And[Sequence[str], Not[str]] ähneln?
Zu diesem Zweck möchte ich diese Funktion mit Anmerkungen versehen:

Code: Select all

PathType = Union[str, os.PathLike]
def escape_cmdline(argv: Union[List[PathType], Tuple[PathType]]) -> str: ...
Aber die vorhandene Signatur sieht für mich aufgebläht aus und deckt keine benutzerdefinierten Typen ab, die mit Listen und Tupeln kompatibel sind. Gibt es einen besseren Weg?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post