2013-02-27 76 views
0

我知道,這是一個noob問題..Python函數返回很多爭論

我有這些變量:

pgwdth = 30; 
mrgn = 0; 
fmt = True 

而這個功能:

def Param(x,pgwdth,mrgn,fmt): 
    parametros = x.split(" ") 
    if parametros[0][1] == "p": 
    numerozinho = int(parametros[1]) 
     print "Changing pgwdth" 
     pgwdth += numerozinho 
     print pgwdth 
    elif parametros[0][1] == "m": 
     numerozinho = int(parametros[1]) 
     print "Changing mrgn" 
     mrgn += numerozinho 
     print mrgn 
    elif parametros[0][1] == "f": 
     numerozinho = parametros[1] 
     print "On/Off" 
     if numerozinho == "on\n": 
      fmt = True 
     elif numerozinho == "off\n": 
      fmt = False 
     else: 
      "Error" 
     print fmt 
    else: 
    print "Error" 

我只是希望它返回在改變它之後用作參數的變量。

+2

'return x,pgwdth,mrgn,fmt'作爲最後一條語句。 – eumiro 2013-02-27 11:05:59

回答

3
return x,pgwdth,mrgn,fmt 

那樣簡單。

你在哪裏把它叫做:

val1,val2,val3,val = Param(x,pgwdth,mrgn,fmt) 
3

函數返回恰好一個結果。訣竅是使結果包含多個值的元組

return (x, pgwdth, mrgn, fmt) 

在Python語法周圍的元組的括號是可選的,所以你會更經常看到

return x, pgwdth, mrgn, fmt 

它看起來像返回多個值,但現在很明顯其實只有一個返回值

+0

這種小小的怪癖讓Python更難閱讀,但代碼更有趣。 – Gjordis 2013-02-27 13:27:56