Vyřešeno: nápověda typu callable typu python

Hlavním problémem tipů typu callable je to, že mohou být zavádějící. Například následující úryvek kódu používá nápovědu pro volatelný typ k označení, že s funkcí f() by se mělo zacházet jako s funkcí, která přebírá jeden argument:

def f(x):

print("V f() x je {}".format(x))

Tento kód však ve skutečnosti definuje funkci, která přebírá dva argumenty. Pokud se pokusíte spustit tento kód, zobrazí se chybová zpráva, jako je tato:

V f() není x definováno

Tato chybová zpráva je způsobena skutečností, že Python neví, jak v tomto kontextu interpretovat nápovědu typu callable. Obecně platí, že volatelné tipy typu jsou užitečné pouze v případě, že skutečně definujete funkci, která přebírá jeden nebo více argumentů.

def foo(x: callable[[int], int]) -> int:
    return x(3)
    
    
#In this example, the foo function takes an argument x that must be a callable object, 
#and returns an int. The callable object must take an int as its first argument 
#and return an int.

#Když je zavolána funkce foo, zavolá funkci x s 3 jako prvním argumentem.
#Vrácená hodnota funkce x bude vrácena funkcí foo.

Typ Nápověda

Tipování typů je funkce programovacího jazyka Python, která vám umožňuje sdělit kompilátoru, na který typ proměnné nebo funkce odkazujete.

Co je psaní

?

V Pythonu je psaní proces zadávání textu na klávesnici počítače.

Související příspěvky:

Zanechat komentář