首页 > 解决方案 > python:如何更改函数的输入参数的值?

问题描述

我试图修改函数内字符串的值,如下所示:

>>> def appendFlag(target, value):
...     target += value
...     target += " "
...
>>> appendFlag
<function appendFlag at 0x102933398>
>>> appendFlag(m,"ok")
>>> m
''

好吧,似乎“目标”只在函数内部发生了变化,但是如何使新值在函数外部可行呢?谢谢。

标签: pythonfunctionparametersreferencemutable

解决方案


这在 python 中通过返回来处理。

def appendFlag(target, value):
   target += value
   target += " "
   return target

你可以像这样使用它:

m = appendFlag(m,"ok")

你甚至可以像这样返回几个变量:

def f(a,b):
   a += 1
   b += 1
   return a,b

并像这样使用它:

a,b = f(4,5)

推荐阅读