Yi *_*ank 2 python string for-loop
def fun(str):
for i in range(len(str)):
print(i)
string = 'abc'
print(fun(string))
Run Code Online (Sandbox Code Playgroud)
打印结果是
0
1
2
None
Run Code Online (Sandbox Code Playgroud)
如果我改变
for i in range(len(str)-1):
Run Code Online (Sandbox Code Playgroud)
最后的结果仍然是 None
为什么是这样?我该如何阻止它?
当您调用 时print(fun('abc')),您首先调用fun,它确实会打印1,2并且3一旦fun完成,您就会打印其返回值。由于您没有显式返回任何内容,Python 会None为您隐式返回。
为了使长话短说-不叫print上fun,只需要调用fun:
string = 'abc'
fun(string) # Here
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
785 次 |
| 最近记录: |