Machen Sie Pylance ignorieren Sie Typfehler, für den ich bereits berücksichtigt habePython

Python-Programme
Anonymous
 Machen Sie Pylance ignorieren Sie Typfehler, für den ich bereits berücksichtigt habe

Post by Anonymous »

Gibt es eine Möglichkeit, dass Pylance ein Typ-Hint-basiertes Problem ignoriert, das bereits mit Try-Excece-Ausnahme ausgewiesen bin. Es versucht dann, mit dem ersten zu handhaben, und fängt eine Ausnahme ein, wenn es nicht funktioniert und sich nicht zum anderen dreht. Ähnlich wie beim Snippet unten. Pylance gibt einen Fehler in der ersten arg.lower () wie folgt an: kann nicht auf das Attribut "niedriger" für die Klasse "Liste [str]" zugreifen. Attribut "niedriger" ist unbekannt . Mein Code wird dieses Problem fangen. < /P>

Code: Select all

def my_method(arg: Union[str, list[str]]) -> str:
try:
return arg.lower()
except AttributeError:
return arg[0].lower()
< /code>
Ich könnte drehen, um die Typen explizit zu überprüfen, und das erfüllt die Pylanz. Dies scheint jedoch nicht pythonisch zu sein (besser, um Vergebung zu bitten als die Erlaubnis) und es wird in einigen Fällen auch komplizierter. Wenn Sie beispielsweise mehrere mögliche Eingangstypen hatten und mehr als 1 auf die gleiche Weise gehandhabt werden kann, müssten Sie auf jeden Fall explizit überprüfen. < /P>
def my_other_method(arg: Union[str, list[str]]) -> str:
if isinstance(arg, str):
return arg.lower()
else:
return arg[0].lower()

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post