Python 如果';s

Python 如果';s,python,function,syntax,built-in,Python,Function,Syntax,Built In,我正在制作一种语言,每当一个人想要访问一个变量时,它都带有一个$符号。但是,在每个函数上,我必须有一个if,看看它的第一个字母是否是$,每次传递一个参数时,对于每个参数,我必须这样做。它变得混乱起来。我不想嵌套if,但要有它,这样我就可以轻松地对它应用函数,并访问它。这有点难解释,但我会用一些代码来解释 def varcmd(cmd, variables): if cmd.__len__() < 4: print "Too little arguments! str

我正在制作一种语言,每当一个人想要访问一个变量时,它都带有一个$符号。但是,在每个函数上,我必须有一个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>"
def varcmd(cmd,变量):
如果cmd.\uuuu len\uuuuu()小于4:
打印“参数太少!str=”
其他:
如果cmd[2]==”:
如果cmd[3][:1]=“$”:
变量[cmd[1]]=变量[cmd[3][1:]
其他:
变量[cmd[1]]=cmd[3]
其他:
打印“语法不正确!str=”
当我不断添加到这个函数中时,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>"
def varcmd(cmd,变量):
如果cmd.\uuuu len\uuuuu()小于4:
打印“参数太少!str=”
其他:
如果cmd[2]==”:
变量[cmd[1]]=auto_convert_if_var.cmd[3][1:]
其他:
打印“语法不正确!str=”

看起来您的需求已经变得足够复杂,需要构建一个。

看起来您的需求已经变得足够复杂,需要构建一个。

我甚至不知道python,但您不能使用循环来迭代命令参数吗?不太确定您想要什么,但它看起来像递归。你可以在Python中声明递归函数。这确实很痛苦!幸运的是,这是一个非常容易理解的过程。这里首先需要做的事情是标记您的输入。一个小建议是:使用
elif:
而不是`else:if:为什么不使用
len(cmd)
而不是
cmd.\uu len\uu()
?我甚至不懂python,但您不能使用循环来迭代命令参数吗?不太确定您想要什么,但它看起来像递归。你可以在Python中声明递归函数。这确实很痛苦!幸运的是,这是一个非常容易理解的过程。这里首先需要做的是标记您的输入。一个小建议是:使用
elif:
而不是`else:if:为什么不使用
len(cmd)
而不是
cmd.\u len_u_;()