当前位置: 首页 > 面试题库 >

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

司马飞
2023-03-14
问题内容

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

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

我该如何解决?


问题答案:

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

我以某种方式得到了一个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(如果存在的话)完全取决于你的代码的目的。



 类似资料:
  • 问题内容: 当我想要这个时,我找不到其他答案,所以我想我会把自己的解决方案发布给其他任何人,如果做错了什么,也会得到纠正。 我必须做一个自动配置文件解析器,如果可能的话,我更喜欢将数字设置为int,如果不可以,则浮动。通常的try / except转换本身并不起作用,因为任何float都将被强制转换为int。 为了澄清,就像有人问的那样,情况基本上是将数字转换为编写配置文件数据的人想要的数字。因此

  • 问题内容: 如何在python中将字节字符串转换为int? 这样说: 我想出了一个聪明/愚蠢的方法: 我知道必须有内置的东西或在标准库中可以更简单地执行此操作… 这与转换可以使用int(xxx,16)的十六进制数字字符串不同,但是我想转换一个实际字节值的字符串。 更新: 我有点喜欢James的回答,因为它不需要导入另一个模块,但是Greg的方法更快: 我的骇客方法: 进一步更新: 有人在评论中问导

  • 注意:这个问题包含不建议使用的前1.0代码!不过,答案是正确的。 要在Rust中将转换为,我可以执行以下操作: 我知道如何将转换为的唯一方法是获取其中的一个片段,然后像这样使用: 有没有办法直接将转换为?

  • 如何将转换为Java中的? 我的字符串只包含数字,我想返回它所代表的数字。 例如,给定字符串时,结果应该是数字。

  • 这是代码,我正在尝试将分钟数(字符串类型)转换为整数类型,但我有NumberFormatException错误,有人能帮我吗,我如何处理这种情况。谢谢

  • 我只是无法在c中转换不同的数据类型,我知道c是一种强类型语言,所以我在这里使用了,但我面临一个问题,错误消息是 从“std::string{aka std::basic_string}类型转换为“int”类型的static_