2014-10-26 81 views
-1

我经常有类似是否可以将变量赋值与条件测试混合?

a = somefunction() 
if a: 
    do_something() 

有没有在Python这将与条件测试融入在初始化一个施工规范?喜欢的东西

if a = somefunction(): 
    do_something() 

这将考验a已通过somefunction()赋值后?

+0

你的第一个方法是你可以做的最好的事情。 – Maroun 2014-10-26 13:53:09

+0

如果你不打算使用它,你为什么要分配一个? – 2014-10-26 14:22:02

+0

@PadraicCunningham:我会使用它(这就是为什么我分配什么函数返回到变量,而不是直接使用它在亚历克斯的答案中提到) – WoJ 2014-10-26 14:24:04

回答

3

不,没有办法做到这一点;一个if声明必须有一个条件 - 因此在其中分配一个分配将导致SyntaxError你的第一个例子是最好的,但除非你再次需要a后来那么这个:

if somefunction(): 
    do_something() 

应该足够了。

+0

谢谢。第一个例子工作正常,我只是想减少可能的混乱(我需要'a'之后) – WoJ 2014-10-26 13:53:08

+0

@WoJ很高兴我能帮上忙。当宽限期过去后,您是否介意接受打勾以表明问题已经结束?谢谢。 :) – 2014-10-26 13:54:11

+0

哦,是的,我总是这样:)。再过几分钟... – WoJ 2014-10-26 13:55:07