如果是替换嵌套?

Tho*_*eia 0 python syntax function built-in

我正在制作一种语言,每当一个人想要访问变量时,它都带有$符号.但是,在每个函数上我必须有一个if,看看它的第一个字母是否为$,并且每次传递参数时,对于每个参数我都必须这样做.它变得混乱.我想不嵌套if,但有它所以我可以轻松地应用一个函数,并访问它.这有点难以解释,但我会用一些代码来解释.

def varcmd(cmd, variables):
    if cmd.__len__() < 4:
        print "Too little arguments! str <var> = <string>"
    else:
        if cmd[2] == "=":
            if cmd[3][:1] == "$":
                variables[cmd[1]] = variables[cmd[3][1:]]
            else:
                variables[cmd[1]] = cmd[3]
        else:
            print "Incorrect syntax! str <var> = <string>"
Run Code Online (Sandbox Code Playgroud)

当我不断添加到这个函数时,if会以指数方式增加,实际上每个函数都可以获取变量,因此每个函数都会有大量的if.基本上,我想要这样的东西:

def varcmd(cmd, variables):
    if cmd.__len__() < 4:
        print "Too little arguments! str <var> = <string>"
    else:
        if cmd[2] == "=":
            variables[cmd[1]] = auto_convert_if_var.cmd[3][1:]
        else:
            print "Incorrect syntax! str <var> = <string>"
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 6

看起来您的需求变得非常复杂,需要构建解析器.