2016-11-29 98 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")