# Example: provide pickling support for complex numbers.
try:
complex
except NameError:
pass
else:
def pickle_complex(c):
return complex, (c.real, c.imag) # why return complex here?
pickle(complex, pickle_complex, complex)
Pourquoi?
Le code suivant est la fonction de cornichon appelé:Pourquoi ce code retourne-t-il 'complexe'?
dispatch_table = {}
def pickle(ob_type, pickle_function, constructor_ob=None):
if type(ob_type) is _ClassType:
raise TypeError("copy_reg is not intended for use with classes")
if not callable(pickle_function):
raise TypeError("reduction functions must be callable")
dispatch_table[ob_type] = pickle_function
# The constructor_ob function is a vestige of safe for unpickling.
# There is no reason for the caller to pass it anymore.
if constructor_ob is not None:
constructor(constructor_ob)
def constructor(object):
if not callable(object):
raise TypeError("constructors must be callable")
Pouvez-vous fournir plus de détails sur exactement quel comportement vous voyez et ce que vous attendiez? –
D'où vient ce code? –
@Roger, le code provient du module copy_reg.py de la distribution Python standard. – Theran