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

workwonder

  •   V2EX 第 33036 号会员,加入于 2013-01-25 21:09:46 +08:00
    workwonder 最近回复了
    21 天前
    回复了 shuizhengqi 创建的主题 Python 来说说你们是怎么用 django 做微服务 的
    你这还是一个大单体项目,然后只暴露其中一个模块部署多份,感觉有点掩耳盗铃啊。
    21 天前
    回复了 workwonder 创建的主题 Python Python 's builtin min/max is evil
    @dstwhk 大家的观点都表达清楚了,这贴没啥好讨论得了,也已经沉底,你翻那么深觉得恶心能怪谁。

    我在英文社区交流当然不会用中文,我不介意蹩脚的英文,我会尽力清晰表达自己的意思,欢迎围观: https://github.com/wonderbeyond
    27 天前
    回复了 workwonder 创建的主题 Python Python 's builtin min/max is evil
    @Daetalus 我不是说了,我的数据逻辑里面有 None 是正常逻辑,表示未知。
    你可以认为我的做法没有普适性,但你的言论更加武断。
    27 天前
    回复了 workwonder 创建的主题 Python Python 's builtin min/max is evil
    @ruoyu0088

    心好累!你一定没注意看我的诉求,我完全可以加各种判断,但是场景太多,容易出错。
    你写的表达式并没有覆盖 min_ignore_none 所处理的各种情况,但是已经很长了。

    你试试:

    >>> min(*[], default=1)
    >>> min(*[1], default=None)
    >>> min(1, default=None)

    当然你不会手写这种表达式,但他们在我的场景里面是会出现的
    27 天前
    回复了 workwonder 创建的主题 Python Python 's builtin min/max is evil
    @zhicheng 哥们,我刚确认了下 python2 和 python3 不一样

    >>> import sys
    >>> sys.version
    '3.6.2 (default, Jul 17 2017, 23:14:31) \n[GCC 5.4.0 20160609]'
    >>> min([None, 1])
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    TypeError: '<' not supported between instances of 'int' and 'NoneType'
    >>> None > 1
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'NoneType' and 'int'
    27 天前
    回复了 workwonder 创建的主题 Python Python 's builtin min/max is evil
    @lrxiao 我承认我的标题有点雷人。发帖前在处理这个问题,把一些 min 的使用场景替换了下,心情比较激动😂

    我的诉求能否普遍适用,大家自己斟酌。

    我觉得把它看做是 API 风格问题也能说通,大家可以看看数据库怎么处理 NULL 的,有自己的一套主见。

    然后,留一个问题大家看怎么解决,就是我为了判断序列是否为空,要提前把迭代器消化成 list,会浪费内存,对于比较长的生成器是不靠谱的。
    28 天前
    回复了 workwonder 创建的主题 Python Python 's builtin min/max is evil
    @lrxiao 我不仅 ignore none,还忽略了空参数。
    我觉得挺安全。min 能接受任意长度的序列,空序列除外。我在序列为空时返回 None 是自我保护。此时请不要再说数据校验的事儿(很多人在纠结),这里只比大小,逻辑既然走到这,说明这些情况是合理的。
    28 天前
    回复了 workwonder 创建的主题 Python Python 's builtin min/max is evil
    @xiaket 赞同,我就是这个意思。而且我确实不关心里面是否有 None,或者去掉 None 之后是否只剩空列表。
    28 天前
    回复了 workwonder 创建的主题 Python Python 's builtin min/max is evil
    @billgreen1 你不觉得 float('inf/nan') 是种很晦暗东西吗,我就当不认识它们,也几乎没见人用过,过于奇怪,比如为啥没有 int 类型的等价物。
    用 None 表示未知(没有设置)我觉得没毛病,而且类型无关。
    28 天前
    回复了 workwonder 创建的主题 Python Python 's builtin min/max is evil
    对了,我想额外补充一句,我的场景里面要跟其它子系统对接的,我完全没有对其**数据校验**的需要,也完全没有**尽早报错**的考虑,我能提取到需要的属性则提取之,提出不到就设置为 None,然后我这边继续运行我的。
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2727 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 35ms · UTC 01:43 · PVG 09:43 · LAX 17:43 · JFK 20:43
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1