首页   注册   登录
 joeHuang 最近的时间轴更新

joeHuang

V2EX 第 124253 号会员,加入于 2015-06-26 13:53:55 +08:00
pickle、copy_reg 为缺失的属性提供默认值的一个问题
Python  •  joeHuang  •  2018-08-13 15:59:01 PM  •  最后回复来自 joeHuang
2
Python 源码中 PyListObject 中的两个问题请教各位大神
Python  •  joeHuang  •  2018-03-15 23:16:52 PM  •  最后回复来自 wangxn
7
有推荐系统工程师岗位的需求么
求职  •  joeHuang  •  2016-04-15 10:26:40 AM  •  最后回复来自 jyhmijack
1
如何看待面试官失约?
职场话题  •  joeHuang  •  2015-10-22 10:02:23 AM  •  最后回复来自 Blask
10
推荐算法工程师需求如何
酷工作  •  joeHuang  •  2015-10-09 11:14:08 AM  •  最后回复来自 stackpop
2
房屋转租 适合中关村、五道口上班的同学
  •  1   
    北京  •  joeHuang  •  2015-07-27 10:12:46 AM  •  最后回复来自 joeHuang
    3
    joeHuang 最近回复了
    2018-08-13 15:59:01 +08:00
    回复了 joeHuang 创建的主题 Python pickle、copy_reg 为缺失的属性提供默认值的一个问题
    找到原因了。正确的使用方式应该是第一次创建类的时候,就进行注册。
    ~~~python
    class GameState(object):
    def __init__(self):
    self.level = 0
    self.lives = 4

    def pickle_obj(obj):
    kwargs = obj.__dict__
    return unpickle_obj, (kwargs,)

    def unpickle_obj(kwargs):
    return GameState(**kwargs)

    import copy_reg
    copy_reg.pickle(GameState, pickle_obj)

    state = GameState()
    state.level += 2
    state.lives -= 3
    print state.__dict__
    '''
    {'lives': 1, 'level': 2}
    '''

    import pickle
    state_path = './game_state_v2.pickle'

    with open(state_path, 'wb') as f:
    pickle.dump(state, f)

    class GameState(object):
    def __init__(self, level=0, lives=4, point=0):
    self.level = level
    self.lives = lives
    self.point = point

    with open(state_path, 'rb') as f:
    state_after = pickle.load(f)
    print state_after.__dict__
    '''
    {'point': 0, 'lives': 1, 'level': 2}
    '''
    ~~~
    2018-08-12 22:20:41 +08:00
    回复了 joeHuang 创建的主题 Python pickle、copy_reg 为缺失的属性提供默认值的一个问题
    昨天在 Python3.6 下试了下也有一样的问题。
    2018-03-14 13:49:10 +08:00
    回复了 joeHuang 创建的主题 Python Python 源码中 PyListObject 中的两个问题请教各位大神
    2018-03-14 10:03:07 +08:00
    回复了 joeHuang 创建的主题 Python Python 源码中 PyListObject 中的两个问题请教各位大神
    @wangxn 帖子里写的就是源码。
    2018-03-06 15:03:06 +08:00
    回复了 joeHuang 创建的主题 Python Python 源码中 PyListObject 中的两个问题请教各位大神
    2018-03-06 13:28:40 +08:00
    回复了 lzjun 创建的主题 Python Python 列表对象实现原理
    参考 listobject.c: https://github.com/lzjun567/python2.7/blob/master/Objects/listobject.c
    其中的第 48 行 new_allocated = (newsize >> 3) + (newsize < 9 ? 3 : 6);好像是错误的。正确的应该是 new_allocated = (newsize >> 3) + (newsize < 9 ? 3 : 6)+newsize;
    对不起。我是 1055。
    2017-06-21 10:48:17 +08:00
    回复了 lzjun 创建的主题 Python 说说我对 Python 装饰器的理解
    谢谢分享
    2017-06-21 10:45:46 +08:00
    回复了 131452p 创建的主题 Python 求教:如果想挖优秀的 Python ,什么才算是有吸引力的条件?
    工作流程怎么样?
    PM 会不会随意改需求?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1035 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 23:16 · PVG 07:16 · LAX 15:16 · JFK 18:16
    ♥ Do have faith in what you're doing.