代码很简单:
import pdb
def sum_nums(n):
s = 0
for i in range(n):
pdb.set_trace()
s += i
print(s)
if __name__ == '__main__':
sum_nums(5)
执行代码:
> /root/
1.py(7)sum_nums()
-> s += i
(Pdb) c
0
> /root/
1.py(6)sum_nums()
-> pdb.set_trace()
(Pdb) c
1
> /root/
1.py(7)sum_nums()
-> s += i
(Pdb) c
3
> /root/
1.py(6)sum_nums()
-> pdb.set_trace()
(Pdb) c
6
> /root/
1.py(7)sum_nums()
-> s += i
(Pdb) c
10
如果把代码改为:
for i in range(n):
s += i
print(s)
pdb.set_trace()
那么执行后的每一条待执行都是-> for i in range(n):
疑问:
所有待执行的语句不应该都是 -> s += i 吗?为什么还穿插着 -> pdb.set_trace() ?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/520383
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.