2017-08-27 46 views
1

在python3.6python3.6可以pickle實例方法staticmethod classmethod,但是文件說沒有?

class C: 
    class_var = 'class_var' 
    @staticmethod 
    def s(): 
     pass 
    @classmethod 
    def c(cls): 
     pass 
    def i(self): 
     pass 


import pickle 
pickle.dumps(C.class_var) # ok 
pickle.dumps(C.i) #ok 
pickle.dumps(C.s) # ok 
pickle.dumps(C.c) # ok 

但在上面的代碼python3.4 是錯誤! 和最少的文件說什麼都沒有。 既不說兩個版本酸洗模塊改變,也不說現在pickleiing可以。

回答

0

this patch降落在python3.5,似乎是你在找什麼。

Here's相關的提交。

here's在更改日誌中的條目python3.5

補丁簡要提到了「非綁定方法」作爲一個可能的用例,但它主要是圍繞在深命名空間/嵌套類在unpickle中心。

相關問題