为什么python不返回引用?

为什么python不返回引用?,python,call-by-value,Python,Call By Value,我有一个关于Python如何返回值的问题。 下面是我练习递归函数的简单python代码 def支架(ans、n、cur、打开、关闭): 如果len(cur)==n*2: ans.append(cur)#这是因为变量范围。函数括号内的变量与函数外的变量不同,即使它们具有相同的名称(ans)。这可能会对您有所帮助。如果cur的长度不是n*2,则方括号()函数不会返回任何值。老实说,要知道它应该返回什么并不容易,因为您还没有发布一些预期的结果。也就是说,这里有一些选择: 始终返回递归调用的值: if

我有一个关于Python如何返回值的问题。 下面是我练习递归函数的简单python代码

def支架(ans、n、cur、打开、关闭): 如果len(cur)==n*2:
ans.append(cur)#这是因为变量范围。函数
括号内的变量与函数外的变量不同,即使它们具有相同的名称(
ans
)。这可能会对您有所帮助。

如果
cur
的长度不是
n*2
,则
方括号()
函数不会返回任何值。老实说,要知道它应该返回什么并不容易,因为您还没有发布一些预期的结果。也就是说,这里有一些选择:

  • 始终返回递归调用的值:

     if open < n:
         return brackets(ans, n,cur+"(",open+1,close)
    
     if open > close:
         return brackets(ans, n,cur+")",open,close+1)
    

  • 在函数末尾返回
    ans

     return ans
    
    这将是输出:

     ['(())', '()()']
     ['(())', '()()']
    
  •  ['(())', '()()']
     ['(())', '()()']