我熟悉Python短路(AND,OR,NOT),但这对我来说似乎很奇怪。
这是:
以下Python代码行有什么作用?
day = input("What day do you want [Tuesday]: ") or "Tuesday"
我不确定它从用户那里获得了什么以及它是如何有用的。
答案 0 :(得分:2)
在Python 3中,这会将day
设置为用户输入的内容,除非用户只是输入。在这种情况下,input
将返回空字符串,其真值为false,因此它将使用"Tuesday"
。你可以在这里看到:
>>> "" or "Tuesday"
'Tuesday'
如果用户输入非空,则其真值将为true,并将用作or
表达式的结果:
>>> "Monday" or "Tuesday"
'Monday'
答案 1 :(得分:0)
如果input()
调用的结果为false,在这种情况下为空字符串,day
将收到'Tuesday'
作为默认值。如果用户在按 Enter 之前输入任何字符,day
将被设置为他们输入的字符串。