还有其他方法将字符串转换为int吗?我需要这样做而不使用它:
x = '345'
y = int(x)
然后它应该像这样工作:
>>> function('456') + 5
461
答案 0 :(得分:1)
def not_int(s):
if s.isdigit():
return eval(s)
raise ValueError("invalid literal: %r" % (s,))
更新:如评论中所述,这仅适用于正整数。它可以与负面文字一起使用,但它没有任何设计,因为int
确实存在!顺便说一下,这甚至不会处理10以外的基础。
以下效果更好,实际上并未使用int
; - )
def not_int(s):
return eval("int(%r)" % (s,))
答案 1 :(得分:1)
您可以使用eval
,但int
可以正常使用。
>>> eval('123') + 5
128