版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/e01528/article/details/81662502
5.调试的时候,由于空格和制表符都看不到,所以比较难发现。
print repr(s)可以将空格换行等打印成/t /n
8.调试的常规操作
- 在def的刚开始加入print,验证获得的实参没有问题【前置条件没有达到】
- 在return前,print,函数本身有问题【后置条件没有达到】
- 函数的返回值有问题,调用方式不正确
10.考虑哪个地方出错的概率大,
- 哪些地方容易加上一个检查,
- 选择一个你认为在其前后发生错误概率相差不多的一个地方进行检查(折中法),
- 千万不要盲目的逐行查看。
- 当然也可以运行的时候加断点,运行到下一个断点处。但这个也容易陷入糊涂。
- 调试的能力主要还是看出来的,不是用断点试出来的,先加print,然后思考,最后不行断点验证最好。
10. p = Point(3,4)
vars(p) 返回对象中属性的name和value
{'y':4,'x':3}
getattr(obj,attr)输如对象和指定属性,返回指定属性的value