如何将Nonetype转换为int或字符串?

发布于 2021-01-29 19:04:48

我有一个Nonetypex,通常是一个数字,但可能是None。我想将其除以数字,但是Python提出了:

TypeError: int() argument must be a string or a number, not 'NoneType'

我该如何解决?

关注者
0
被浏览
230
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    在其中一项评论中,您说:

    我以某种方式得到了一个N​​onetype值,它应该是一个int,但是现在它是一个Nonetype对象

    如果这是您的代码,请弄清楚None当您期望有一个数字时您将如何工作,并阻止 这种 情况的发生。

    如果是别人的代码,请None使用通常的条件代码找出给出的条件,并确定用于该条件的合理值:

    result = could_return_none(x)
    
    if result is None:
        result = DEFAULT_VALUE
    

    …甚至…

    if x == THING_THAT_RESULTS_IN_NONE:
        result = DEFAULT_VALUE
    else:
        result = could_return_none(x) # But it won't return None, because we've restricted the domain.
    

    没有理由在0这里自动使用-解决方案取决于None假设您会想要的“假”性质。的DEFAULT_VALUE(如果存在的话)完全取决于你的代码的目的。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看