0

我知道,这是一个菜鸟问题..

我有这些变量:

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"   

我只希望它在更改它后返回它用作参数的变量。

4

2 回答 2

3

一个函数只返回一个结果。诀窍是使该结果成为包含多个值的元组。

return (x, pgwdth, mrgn, fmt)

在 Python 语法中,元组周围的大括号是可选的,因此您会更经常看到

return x, pgwdth, mrgn, fmt

看起来像返回多个值,但现在很明显实际上只有一个返回值

于 2013-02-27T12:21:46.797 回答
3
return x,pgwdth,mrgn,fmt

就那么简单。

你称之为:

val1,val2,val3,val = Param(x,pgwdth,mrgn,fmt)
于 2013-02-27T11:06:28.697 回答