2016-11-29 58 views
5

我试图调用if中的函数,将该值保存在变量中,并检查该值是否等于某个值。 已尝试:在if中定义变量

def funk(): 
    return ("Some text") 

msg="" 
if (msg=funk()) == "Some resut": 
    print ("Result 1") 

我收到语法错误。这可以做到吗?

我在C快到了,我知道,这可以工作:

#include <stdio.h> 

char funk() 
{ 
    return 'a'; 
} 
int main() 
{ 
    char a; 
    if(a=funk() == 'a') 
     printf("Hello, World!\n"); 
    return 0; 
} 

在Python这可能吗?

P.S.这些功能很简单,所以更容易理解我想要的东西。我不会在我的程序中使用某些功能。如果你给我一个MINUS,请在注释中解释,这样我可以在将来提出更好的问题

+1

可能更好复制这是特定于'if'(但同样的规则适用于所有条件语句在Python,'if','elif','while',所以我一个链接为重复它有更多的关注工作太):[在if语句Python内分配](http://stackoverflow.com/q/30066516/364696) – ShadowRanger

+0

此外[我可以分配布尔表达式左侧的值(例如在一个while循环中)到某事?](http://stackoverflow.com/q/39855895/364696)。这已被覆盖_lot_。 – ShadowRanger

回答

10

Python故意不支持它,因为它会伤害可读性。它需要两行。

msg = funk() 
if msg == "Some result": 
    print("Result 1")