Was ist der Typ für Funktionen, die INT als erster Parameter und dann optionale Argumente [Duplikat]Python

Python-Programme
Anonymous
 Was ist der Typ für Funktionen, die INT als erster Parameter und dann optionale Argumente [Duplikat]

Post by Anonymous »

Bedenken wir, dass ich Funktionen mit diesen habe: < /p>

Code: Select all

def f1(a: int, **other_args):
...

def f2(a: int, b: str, c: dict):
...

def f3(a: int, b: tuple[str], **other_args):
...
Alle diese Funktionen beginnen mit einem int als Argument und dann andere Argumente, die optional sein können oder nicht.
Jetzt möchte ich sie in einer Liste speichern: < /p>

Code: Select all

l: list[?] = [f1, f2, f3]
< /code>
Ich weiß, dass ich so etwas wie < /p>
 machen kannimport typing

param_spec = typing.ParamSpec('param_spec')
l: list[typing.Callable[typing.Concatenate[int, param_spec], typing.Any]] = [f1, f2, f3]
< /code>
Aber es würde bedeuten < /p>
l: list[typing.Callable[typing.Concatenate[int, ...], typing.Any]] = [f1, f2, f3]
Aber ich habe TypeError erhalten: Der letzte Parameter für die Verkettung sollte eine Paramspec -Variable sein.

Code: Select all

l: list[typing.Callable[[int, ...], typing.Any]] = [f1, f2, f3]
Aber in diesem Fall wird ... als *args betrachtet und nicht ** kWargs .
< Br /> Gibt es einen Typ, der diese Art von Funktionen beschreibt? Wie kann ich das tun?
Danke für deine Hilfe!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post