Skip to main content
 首页 » 编程设计

Python For i in range(len(str)) : last iteration prints None

2025年05月04日18zhujiabin

def fun(str): 
    for i in range(len(str)): 
        print(i) 
 
string = 'abc' 
 
print(fun(string)) 

打印结果为

0 
1 
2 
None 

如果我改变

for i in range(len(str)-1): 

最后的结果还是None

这是为什么? 我该如何阻止它?

请您参考如下方法:

当你调用print(fun('abc'))时,你首先调用了fun,它确实打印了1, 2 和 3,一旦 fun 完成,您打印它的返回值。由于您没有显式返回任何内容,Python 会为您隐式返回 None。

长话短说 - 不要在 fun 上调用 print,只需调用 fun:

string = 'abc' 
 
fun(string) # Here