spyder调试教程(debug)
⽂章⽬录
前⾔
感觉百度上没有什么详细的spyder调试教程。这⾥⼼⼼念念是打算写⼀个的(本来),但是,我不确定⾃⼰在短时间内能写的⽐[5]更好,写⼀个好的教程还是太费时间了,⽽现在已经晚上12点半了。
所以在此记录⼀些调试教程相关的链接,并稍作标注评价,供有需要者⽤。
1 相关链接
有关python下进⾏测试的:
[1] unittest — Unit testing framework.
有关__name__== 'main’的:
[2] python中if name == ‘main’
有关于assert语句的:
[3] Simple statements.
有关assert语句写法,如assert 2 + 2 == 5, “Houston we’ve got a problem” :
[4] What is the use of “assert” in Python?
算是⽐较详细的spyder教程
[5] 使⽤spyder3调试python程序的简明教程
也讲了下python assert的⽤法
[6] python assert的作⽤。
2 ⽰例程序
我写了两个我认为⽐较经典的缺陷程序:
def piecewise(x, data):
data_len=len(data)
if(data[0][0]<=x<data[-1][0]):
for i in range(data_len-1):
if(data[i][0]<=x<data[i+1][0]):
fx=data[i][1]
spyder python下载break
elif x==data[-1][0]:
fx=data[-2][1]
else:
fx=None
return fx
if __name__ == '__main__':
# 测试数据
data=[(0, -1), (1, 0), (1.5, 4),(2, None)]
x=[0,1,1.5,2,3]
expected_output=[-1,0,4,4,None]
for i in range(0,len(x)):
actual_output=piecewise(x[i], data)
assert actual_output==expected_output[i],print('The actual_output is :', \
actual_output, 'but the expected_output is :', expected_output[i])
如果所有的assert语句都返回True的话,那么这个程序是不会输出任何值的。
相反,如果有⼀个assert返回的是False,那么就会输出错误信息,以及AssetionError。
3 spyder中debug的⼀些基本操作
F12是设置断点:
最上⽅总共有5个调试按钮,都是蓝⾊的,从左到右依次是:
进⼊调试;运⾏当前⾏;进⼊函数或⽅法内运⾏;跳出函数或⽅法;运⾏到下⼀个断点;退出调试。我感觉还挺这些按钮的功能左右还对称的。
⼤概就这样吧,感觉这⼏个按钮⽤好了,调试起来效率⾮常⾼。
⽐如说在for循环⾥⾯,直接运⾏到下⼀个断点,就可以进⼊下⼀个循环,或者跳出循环等。
这个就要慢慢摸索了…
4 总结
差不多了,以后有空再补充。