函数内部 return 和elif效果一样么?
def add(a, b):
if 1:
print('111')
elif 2:
result = a + b
print(add(30, 2))
def add(a, b):
if 1:
print('111')
return
result = a + b
print(add(30, 2))
你这个缩进看不清楚啊。如果缩进正确,效果是一样的,比如
def add(a, b):
if 1:
print('111')
elif 2:
result = a + b
print(add(30, 2))
def add(a, b):
if 1:
print('111')
return
result = a + b
print(add(30, 2))
但前提条件是条件只有这两种情况。否则就不等价了,因为如果还有其它条件值,在第一函数里,是不起作用的,但在第二个函数中,就会执行result = a+b及之后的代码
如果逻辑足够简单,你可以用各种办法实现同样的逻辑
比如if就可以用while再加个break来代替
但是如果你的功能稍微复杂一些,比如函数需要用到返回值了,那你就不能在函数任意位置随便return了,return用的多了会让代码结构变得不清晰,可读性变差