python - 未定义变量?
Python有没有一种未定义变量或调试模式,可以输出通知或警告呢?
在PHP中,你可以修改错误报告的设置,打开通知警告,这样就能看到类似这样的提示:
<?php
echo $foo;
这会在第2行抛出一个“未定义变量foo...”的错误。
那么,Python有没有类似的功能呢?
我遇到过一个bug,当时我写的是:
db.connect
而不是:
db.connect()
我希望Python能抛出一个“未定义变量connect...”的错误。
在Python中,你能提高错误报告的级别或者类似的设置吗?
4 个回答
0
据我所知,Python里没有这样的选项。不过,有一些工具,比如PyChecker,可以帮助你找到代码中的错误,这些错误在其他编程语言中通常是由编译器发现的。
9
Python会对未定义的变量发出警告,除非你对它的警告系统进行调整:
h[1] >>> print x
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
在你的情况中,db.connect
实际上是有值的,它是一个函数对象。所以你的连接并不是未定义的。
h[1] >>> def hello(): pass
...
h[1] >>> x = hello
h[1] >>> print x
<function hello at 0x100461c80>