对于多个帖子感到抱歉,我确实环顾四周,除了try方法之外找不到任何东西,这在某些情况下似乎很有用,而不是我的。
我正在寻找的是一种跳过错误的方法,所以只是在控制台中没有显示而不是停止脚本,只是绕过它们的方法。
即;
1. call a list
2. If list does not exist
3. create the list
答案 0 :(得分:5)
在Python中,这是通过try...except
实现的。在您的情况下,您可能想要抓住NameError
。
try:
L[0]
except NameError:
L = ["Example",2]
L[0]
答案 1 :(得分:1)
try
.. except
当然是一种方法。如果您尝试在函数中测试参数,那么使用默认值None
定义此参数通常很有用,并且测试如下:
def myfunc(..., mylist=None):
if mylist is None:
mylist = []
如果您想知道列表是否为空,请输入
if mylist:
print mylist
else:
print "empty list"
这些类型的测试与try
.. except
概念之间的主要区别在于,在我的代码示例中,您必须确保定义了变量(例如作为函数参数)。否则,您将生成异常。这正是try
.. except
结构优雅处理的内容。
最后它可能是哲学的(我只能希望我不会违反python的zen):如果您知道哪些变量可能未定义,它可以提高代码的可读性和弹性,如果您明确地编写错误处理代码。有些人可能会说“让它发生”并且仅在必要时进行修复是更加pythonic。如果您正在编写“快速入侵”,解决方案2通常很好,如果它是其他用户应该使用的应用程序,我通常倾向于明确的错误处理。