Python if语句语法错误问题
我没有得到python中if语句的一些语法:Python if语句语法错误问题,python,if-statement,syntax,syntax-error,Python,If Statement,Syntax,Syntax Error,我没有得到python中if语句的一些语法: >> z=[0 if all([2<3,6<7]) else sth] #Correct >> >> z=[0 if all([2<3,6<7])] #Wrong File "<stdin>", line 1 z=[0 if all([2<3,6<7])] ^ SyntaxE
>> z=[0 if all([2<3,6<7]) else sth] #Correct
>>
>> z=[0 if all([2<3,6<7])] #Wrong
File "<stdin>", line 1
z=[0 if all([2<3,6<7])]
^
SyntaxError: invalid syntax
>>
>z=[0如果全部([2
>>z=[0 if all([2您使用的是正确的A if条件else B
语法,它返回一个要分配给z
变量的表达式
在错误的语法中,您省略了else
子句,因此Python无法猜测在您的条件all([2在使用此语法时不能跳过else
)
def sm():
if somethingelse:
return something
return something1
可能吗?在这种情况下,我们不必写else
,因为如果如果语句起作用,函数是通过返回某个东西来完成的。但在列表理解中不是这样的。正如你所知,你不必在lambda
中也写else
,因为lambda也是一个函数,就像上面的例子一样。为了澄清,假设all
条件为false。您希望为z
分配什么值?
def sm():
if somethingelse:
return something
return something1