gpt4 book ai didi

链式条件的 Python 语法

转载 作者:太空狗 更新时间:2023-10-30 00:24:30 26 4
gpt4 key购买 nike

我是 Python 的初学者,目前正在通过“如何像计算机科学家一样思考”一书自学来自 Chained Conditionals 一书中的练习,教的语法是:

 def function(x,y)
if ..:
print ".."
elif..:
print ".."
else:
print".."

但是,当我尝试这样做以确定它是否合法时,它起作用了:

 def function (x,y)
if ..:
print ".."
if ..:
print ".."

后者是正确的语法吗?或者它甚至不被视为链式条件?我想知道,即使这在 Python 中是合法的,它是否是编写代码的“好方法”?

真诚地感谢所有善意的帮助。

最佳答案

虽然您的第二个示例有效,但它与第一​​个示例是一回事。在第二种情况下,将评估每个 if 条件,而不管前一个条件是否为真并已执行。在链式 if/elif 示例中,整个事情被视为一个单元,只有第一个匹配的条件将被执行。

例如:

# An if/elif chain
a = 2
b = 3

if a == 2:
print "a is 2"
elif b == 3:
print "b is 3"
else:
print "whatever"

# prints only
"a is 2"
# even though the b condition is also true.

然而

# Sequential if statements, not chained
a = 2
b = 3

if a == 2:
print "a is 2"

if b == 3:
print "b is 3"

# prints both
"a is 2"
"b is 3"

关于链式条件的 Python 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10433142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com