回答編集履歴
2
追記
answer
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
私も使えないと思い込んでいましたが、確かにやってみたらできますね。
|
2
2
|
|
3
3
|
参照している記事のエラーもすぐに再現できました。python2で実行するとそうなります。
|
4
|
+
YouheiSakuraiさんの回答によると、python3.2系以前では再現するようです。
|
4
5
|
|
5
6
|
---
|
6
7
|
|
@@ -10,8 +11,4 @@
|
|
10
11
|
cPickle.PicklingError: Can't pickle <type 'instancemethod'>: attribute lookup __builtin__.instancemethod failed
|
11
12
|
```
|
12
13
|
|
13
|
-
~~python2だとinstancemethodという型がpickle化できないというエラーになる訳ですが、この辺り(クラスやメソッド)の仕組みはpython2→python3のときに大きく変更されています。~~
|
14
|
-
|
15
|
-
~~そのせいかな?~~
|
16
|
-
|
17
|
-
|
14
|
+
なので昔のpythonではメソッドはpickle化できなかったが、いつの間にかできるようになっていた、ということのようです。
|
1
一部撤回
answer
CHANGED
@@ -10,6 +10,8 @@
|
|
10
10
|
cPickle.PicklingError: Can't pickle <type 'instancemethod'>: attribute lookup __builtin__.instancemethod failed
|
11
11
|
```
|
12
12
|
|
13
|
-
python2だとinstancemethodという型がpickle化できないというエラーになる訳ですが、この辺り(クラスやメソッド)の仕組みはpython2→python3のときに大きく変更されています。
|
13
|
+
~~python2だとinstancemethodという型がpickle化できないというエラーになる訳ですが、この辺り(クラスやメソッド)の仕組みはpython2→python3のときに大きく変更されています。~~
|
14
14
|
|
15
|
-
そのせいかな?
|
15
|
+
~~そのせいかな?~~
|
16
|
+
|
17
|
+
↑python3でも3.2くらいまではエラーになるということなので、撤回。後ほど修正します。
|