Код: Выделить всё
import pickle
from typing import Callable
def pickable():
print("I am pickable!")
def get_non_pickable():
# local functions are not pickable
def not_pickable():
print("I am NOT pickable!")
return not_pickable
def pickle_func(func: Callable[[], None]):
with open("data.pickle", "wb") as f:
pickle.dump(func, f, pickle.HIGHEST_PROTOCOL)
# fine:
pickle_func(pickable)
# not fine: should show in my editor that I am passing a non-pickable item
pickle_func(get_non_pickable())
Подробнее здесь: https://stackoverflow.com/questions/774 ... e-argument