在其他编程语言中,我非常习惯于做这样的事情:
def doit(bikes):
if type(bikes) is not list:
return False
# do something with bikes list
但是在我见过的大多数python代码中,它的工作都比
def doit(bikes):
if type(bikes) is list:
# do something with bikes list
所以我的方式不是真的“ pythonic”吗?我不知道这是否真的设置了一个例子,但是我想表达的是,我总是尽量不要将要运行的代码放在语句中,而是在出现错误时中断方法。这也可能看起来像
def runbikes(bikes):
if type(bikes) is not list:
return False
if len(bikes) < 1:
return False
if 'tandem' not in bikes:
return False
return [bike.run() for bike in bikes]
这符合python编码指南吗?
答案 0 :(得分:1)
def runbikes(bikes):
try:
return [bike.run() for bike in bikes]
except (TypeError,AttributeError,ValueError):
return False
可能是“ pythonic”的实现方式