繁体   English   中英

Python TypeError:“NoneType”类型的对象没有 len()

[英]Python TypeError: object of type 'NoneType' has no len()

我从这段代码中得到一个错误:

def make_int(var):
    if len(var) != 0:
        var = int(var)
    return var

错误:

TypeError: object of type 'NoneType' has no len()

我该如何解决?

看起来您在调用int(var)时试图避免ValueError ,但未能预测可能导致的所有事情。 不要尝试; 在这种情况下,您传递的参数无论如何都不会引发ValueErrorint(None)会引发TypeError )。 只需捕获异常并在发生时返回var

def make_int(var):
    try:
        return int(var)
    except Exception:
        return var

使用这个片段

def make_int2(var):
    if isinstance(var, str) and var.isdigit():
        return int(var)
    return None

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM