我在某处读到函数应该总是只返回一种类型,所以下面的代码被认为是坏代码:
def x(foo):
if 'bar' in foo:
return (foo, 'bar')
return None
Run Code Online (Sandbox Code Playgroud)
我想更好的解决方案是
def x(foo):
if 'bar' in foo:
return (foo, 'bar')
return ()
Run Code Online (Sandbox Code Playgroud)
返回一个None然后创建一个新的空元组不是更便宜的记忆吗?或者这个时间差太小而不能注意到即使在较大的项目中?
我是Python新手,但不是编程新手.为了学习Python,我将学习在线入门教程.我已经研究了多个函数示例,这些函数根据参数返回不一致的结果类型.EG,结果可以是整数或布尔值,如本例中的by_three():
def cube(number):
return number**3
def by_three(number):
if (number%3) == 0:
return cube(number)
else:
return False
Run Code Online (Sandbox Code Playgroud)
这会给我发红旗.这是Python世界中可接受的做法吗?显然语言允许它,它可以完成,但它应该完成吗?