今天爱分享给大家带来把字符串 “123” 转换成 123,不使用内置api【面试题详解】,希望能够帮助到大家。
方法一: 利用 str 函数
def atoi(s):
num = 0
for v in s:
for j in range(10):
if v == str(j):
num = num * 10 + j
return num
方法二: 利用 ord 函数
def atoi(s):
num = 0
for v in s:
num = num * 10 + ord(v) - ord('0')
return num
方法三: 利用 eval 函数
def atoi(s):
num = 0
for v in s:
t = "%s * 1" % v
n = eval(t)
num = num * 10 + n
return num
方法四: 结合方法二,使用 reduce,一行解决
from functools import reduce
def atoi(s):
return reduce(lambda num, v: num * 10 + ord(v) - ord('0'), s, 0)
原文链接:https://blog.itblood.com/3963.html,转载请注明出处。

![蛇之交响曲/Symphony of the Serpent Ver24033 逍遥汉化版 [3.13G] [神作RPG/汉化/动态]](/wp-content/uploads/replace/2025/07/19/a397069f71dc11356631f810d8d45b02.webp)