【发布时间】:2016-05-30 08:14:29
【问题描述】:
我了解if、else 和elif 的说法。但是,我不确定在功能块中使用 return 的最佳实践。用返回块编写 if/else 构造的最 Pythonic 方式是什么?
# Other's code:
def my_function():
do = input("Enter 'n' to print 1 and any other key to print 2")
if do == "n":
print(1)
return
else:
print("2")
return
# My code:
def my_function():
do = input("Enter 'n' to print 1 and any other key to print 2")
if do == "n":
print(1)
return
# Note that I do not use an else statement here
print("2")
return
需要在最后一行添加else(或elif)语句吗?当我可以在if 语句之后键入我的代码时,我看不到一个额外的else(或elif)语句的意义。
我也很困惑,因为我最近了解到else 语句可以与循环配对。 (例如for ... else ...)
【问题讨论】:
-
这在逻辑上是两个完全不同的东西。在第一个例子中,
elif select == "s":之后的代码只有在 select 不是 'a' 而是 's' 时才会执行 在第二个例子中,if select == "s":之后的代码即使 select 是 's' 也会被执行,不管是不是也是'a' 你是对的,在这种情况下它可能不会有什么不同。但是,您应该编写代码,使其说明函数实际尝试实现的目标。这取决于问题。 -
@user3207838 这是什么意思?
-
这意味着在您的示例中,它可能不会有所作为。但是你要明白,从逻辑的角度来看,这两件事是不同的。
-
@user3207838 好的,我编辑了最后一部分。但是,我的意思是我是否必须 输入'elif' 或'else',除非绝对 是强制性的? (就像这个,它不是,但在某些人的代码中,我看到他们使用了 'elif' 等,即使它不是强制性的。
标签: python python-3.x if-statement