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.