Python 带有关键字and、or的Return语句
从Python 带有关键字and、or的Return语句,python,Python,从f1,f2,f3返回非零值。但是在f4和f5的情况下,它会在return关键字之后立即返回值。但是在f6的情况下,它返回-1。我不明白这是怎么回事 感谢您的解释:)或返回第一个值(如果该值等于True),否则返回第二个值 在Python中,任何非0的整数在布尔上下文中都是真的。因此,1和-1都为True,如果另一个值为0,则返回该值 和则相反:如果不正确,则返回第一个值,否则返回第二个值 或如果第一个值等于True,则返回第一个值,否则返回第二个值 在Python中,任何非0的整数在布尔上下文
f1
,f2
,f3
返回非零值。但是在f4
和f5
的情况下,它会在return
关键字之后立即返回值。但是在f6
的情况下,它返回-1。我不明白这是怎么回事
感谢您的解释:)
或
返回第一个值(如果该值等于True),否则返回第二个值
在Python中,任何非0的整数在布尔上下文中都是真的。因此,1和-1都为True,如果另一个值为0,则返回该值
和
则相反:如果不正确,则返回第一个值,否则返回第二个值 或
如果第一个值等于True,则返回第一个值,否则返回第二个值
在Python中,任何非0的整数在布尔上下文中都是真的。因此,1和-1都为True,如果另一个值为0,则返回该值
和
则相反:如果不正确,则返回第一个值,否则返回第二个值 或
如果第一个值等于True,则返回第一个值,否则返回第二个值
在Python中,任何非0的整数在布尔上下文中都是真的。因此,1和-1都为True,如果另一个值为0,则返回该值
和
则相反:如果不正确,则返回第一个值,否则返回第二个值 或
如果第一个值等于True,则返回第一个值,否则返回第二个值
在Python中,任何非0的整数在布尔上下文中都是真的。因此,1和-1都为True,如果另一个值为0,则返回该值
和
则相反:如果不正确,则返回第一个值,否则返回第二个值 这将有助于您:
def myfunc(): #f1
return 0 or 1
#The above returns 1
def myfunc(): #f2
return 1 or 0
#The above also returns 1
def myfunc(): #f3
return 0 or -1
#The above returns -1
def myfunc(): #f4
return -1 or 1
#The above returns -1
def myfunc(): #f5
return 1 or -1
#The above returns 1
def myfunc(): #f6
return 1 and -1
#The above returns 1
请记住真相表:
>>> bool(0)
False
>>> bool(1)
True
>>> bool(-1)
True
这将有助于您:
def myfunc(): #f1
return 0 or 1
#The above returns 1
def myfunc(): #f2
return 1 or 0
#The above also returns 1
def myfunc(): #f3
return 0 or -1
#The above returns -1
def myfunc(): #f4
return -1 or 1
#The above returns -1
def myfunc(): #f5
return 1 or -1
#The above returns 1
def myfunc(): #f6
return 1 and -1
#The above returns 1
请记住真相表:
>>> bool(0)
False
>>> bool(1)
True
>>> bool(-1)
True
这将有助于您:
def myfunc(): #f1
return 0 or 1
#The above returns 1
def myfunc(): #f2
return 1 or 0
#The above also returns 1
def myfunc(): #f3
return 0 or -1
#The above returns -1
def myfunc(): #f4
return -1 or 1
#The above returns -1
def myfunc(): #f5
return 1 or -1
#The above returns 1
def myfunc(): #f6
return 1 and -1
#The above returns 1
请记住真相表:
>>> bool(0)
False
>>> bool(1)
True
>>> bool(-1)
True
这将有助于您:
def myfunc(): #f1
return 0 or 1
#The above returns 1
def myfunc(): #f2
return 1 or 0
#The above also returns 1
def myfunc(): #f3
return 0 or -1
#The above returns -1
def myfunc(): #f4
return -1 or 1
#The above returns -1
def myfunc(): #f5
return 1 or -1
#The above returns 1
def myfunc(): #f6
return 1 and -1
#The above returns 1
请记住真相表:
>>> bool(0)
False
>>> bool(1)
True
>>> bool(-1)
True
这称为短路,即
和或和不工作的方式。
你可以在这里看到关于它的文档:
因此,在函数#f6中,第一个操作数1
的计算结果为True
,但存在和,因此python还必须计算以下-1
如果您直接从文档中获取适用于您的案例的x和y
的定义1和-1
,它会显示:
如果1为false,则为1,否则为-1
由于1
不是False
,因此进入else
部分,然后返回-1
。
这就是为什么第六个函数返回-1
。这称为短路,这就是和或和不工作的原因。
你可以在这里看到关于它的文档:
因此,在函数#f6中,第一个操作数1
的计算结果为True
,但存在和,因此python还必须计算以下-1
如果您直接从文档中获取适用于您的案例的x和y
的定义1和-1
,它会显示:
如果1为false,则为1,否则为-1
由于1
不是False
,因此进入else
部分,然后返回-1
。
这就是为什么第六个函数返回-1
。这称为短路,这就是和或和不工作的原因。
你可以在这里看到关于它的文档:
因此,在函数#f6中,第一个操作数1
的计算结果为True
,但存在和,因此python还必须计算以下-1
如果您直接从文档中获取适用于您的案例的x和y
的定义1和-1
,它会显示:
如果1为false,则为1,否则为-1
由于1
不是False
,因此进入else
部分,然后返回-1
。
这就是为什么第六个函数返回-1
。这称为短路,这就是和或和不工作的原因。
你可以在这里看到关于它的文档:
因此,在函数#f6中,第一个操作数1
的计算结果为True
,但存在和,因此python还必须计算以下-1
如果您直接从文档中获取适用于您的案例的x和y
的定义1和-1
,它会显示:
如果1为false,则为1,否则为-1
由于1
不是False
,因此进入else
部分,然后返回-1
。
这就是为什么将-1
作为第六个函数的返回。我认为它在非零值上短路为真,因此您观察到的输出-1
和1
都是“thuthy”值(bool(-1)为真是bool(1)
)。布尔语句短路,不检查第二个参数。是否确实要返回2个值?在这种情况下,请尝试例如返回(1,-1)
我认为它在非零值上短路为True,因此您观察到的输出-1
和1
都是“thuthy”值(bool(-1)为True是bool(1)
)。布尔语句短路,不检查第二个参数。是否确实要返回2个值?在这种情况下,尝试例如返回(1,-1)
我认为它在非零值上短路为真,因此您观察到的输出-1
和1
都是“thuthy”值(bo