【发布时间】:2021-03-03 04:34:51
【问题描述】:
我从这段代码中得到一个错误:
def make_int(var):
if len(var) != 0:
var = int(var)
return var
错误:
TypeError: object of type 'NoneType' has no len()
我该如何解决这个问题?
【问题讨论】:
-
先检查
var is not None。 -
向我们展示您传递给该函数的参数...
-
您可能希望将您的测试更改为
if var:,这将捕获空字符串和 None。 -
听起来好像您期待一个字符串,而不是
None,作为不可转换的参数。 tryint(var),如果发现任何异常则返回var会更简单。 -
@FrankYellin 但它会传递任何具有真实价值的东西,例如非空字符串。所以
int('asdf')还是会崩溃