"Méta-MCI" <enleverlesX.XmcX@XmclaveauX.com> a écrit dans le message de
news: ...
> *** j'ai trouvé en rédigeant, mais je met quand même le message ***
> *** (les fonctions ne sont pas copiables ; c'est dans la doc) ***
>
>
> Bonjour !
>
> Je n'arrive pas à (deep)copier une fonction.
>
> Mon bout de code :
>
> import copy
>
> def fff():
> return 1
>
> a=fff
> b=copy.deepcopy(a)
>
>
> Le message d'erreur :
> Traceback (most recent call last):
> File "D:\dev\python\this1.py", line 7, in ?
> b=copy.deepcopy(a)
> File "C:\Python24\lib\copy.py", line 204, in deepcopy
> y = _reconstruct(x, rv, 1, memo)
> File "C:\Python24\lib\copy.py", line 336, in _reconstruct
> y = callable(*args)
> File "C:\Python24\lib\copy_reg.py", line 92, in __newobj__
> return cls.__new__(cls, *args)
> TypeError: function() takes at least 2 arguments (0 given)
>
>
> Est-ce qu'un callable ne serait pas copiable ?
>
>
> --
> Michel Claveau
>
>
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bruno Desthuilliers
"Méta-MCI" a écrit dans le message de news: ...
*** j'ai trouvé en rédigeant, mais je met quand même le message *** *** (les fonctions ne sont pas copiables ; c'est dans la doc) ***
Bonjour !
Je n'arrive pas à (deep)copier une fonction.
(snip)
Est-ce qu'un callable ne serait pas copiable ?
Si, bien sûr: Python 2.4.1 (#1, Jul 23 2005, 00:37:37) [GCC 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
class MyFunc(object): ... def __call__(self):
... return "allo ?" ...
import copy func = MyFunc() copy.deepcopy(func) <__main__.MyFunc object at 0x407dc1ac>
"Méta-MCI" <enleverlesX.XmcX@XmclaveauX.com> a écrit dans le message de
news: ...
*** j'ai trouvé en rédigeant, mais je met quand même le message ***
*** (les fonctions ne sont pas copiables ; c'est dans la doc) ***
Bonjour !
Je n'arrive pas à (deep)copier une fonction.
(snip)
Est-ce qu'un callable ne serait pas copiable ?
Si, bien sûr:
Python 2.4.1 (#1, Jul 23 2005, 00:37:37)
[GCC 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)] on
linux2
Type "help", "copyright", "credits" or "license" for more information.
class MyFunc(object):
... def __call__(self):
... return "allo ?"
...
import copy
func = MyFunc()
copy.deepcopy(func)
<__main__.MyFunc object at 0x407dc1ac>
*** j'ai trouvé en rédigeant, mais je met quand même le message *** *** (les fonctions ne sont pas copiables ; c'est dans la doc) ***
Bonjour !
Je n'arrive pas à (deep)copier une fonction.
(snip)
Est-ce qu'un callable ne serait pas copiable ?
Si, bien sûr: Python 2.4.1 (#1, Jul 23 2005, 00:37:37) [GCC 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
class MyFunc(object): ... def __call__(self):
... return "allo ?" ...
import copy func = MyFunc() copy.deepcopy(func) <__main__.MyFunc object at 0x407dc1ac>