分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
编辑器不等于IDE(集成开发环境),开发
python
程序,不是只有一种print()
打印输出调试。术业有专攻,于人如此,于一个软件也是如此。让专业的软件做专业的事。
以上两点得出的结论:PyCharm
我们以如下的一种常见错误,来演示如何通过PyCharm断点追踪的方式发现程序中的错误:
def foo(bar=[]): bar.append('bar') return bar>>>foo()['bar']>>>foo()['bar', 'bar']>>>foo()['bar', 'bar', 'bar']
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
这里存在一个常见的错误就是误以为:函数在每次不提供可选形参时将参数设置为默认值,也就是本例中的[]
,一个空的list。
这里我们便可以通断点调试的方式进行追踪,在每次函数调用(不显示传递形参)时,观察形参值的变化。
如图所示为:
下图是以这段为例,来演示如何发现程序中的bug:
解决方案:
def foo(bar=None): if not bar: bar = [] bar.append('baz') return bar>>>foo()['baz']>>>foo()['baz']
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9