如何在Python中编写具有输出参数(按引用调用)的函数?

WBOY
发布: 2023-09-02 16:21:06
转载
935 人浏览过

如何在Python中编写具有输出参数(按引用调用)的函数?

Python语言中的所有参数(argument)都是通过引用传递的。这意味着如果您更改函数中参数的引用内容,该更改也会反映在调用函数中。

通过以下方式实现这一目标 -

返回结果元组

示例

在此示例中,我们将返回结果的元组 -

# Function Definition
def demo(val1, val2):
   val1 = 'new value'
   val2 = val2 + 1
   return val1, val2

x, y = 'old value', 5

# Function call
print(demo(x, y))
登录后复制

输出

('new value', 6)
登录后复制

传递可变对象

示例

在此示例中,我们将传递一个可变对象 -

# Function Definition
def demo2(a):
   # 'a' references a mutable list
   a[0] = 'new-value'
   # This changes a shared object
   a[1] = a[1] + 1

args = ['old-value', 5]
demo2(args)
print(args)
登录后复制

输出

['new-value', 6]
登录后复制

传递一个发生变异的字典

示例

在这个例子中,我们将传递一个字典 -

def demo3(args):
   # args is a mutable dictionary
   args['val1'] = 'new-value'
   args['val2'] = args['val2'] + 1

args = {'val1': 'old-value', 'val2': 5}

# Function call
demo3(args)
print(args)
登录后复制

输出

{'val1': 'new-value', 'val2': 6}
登录后复制
登录后复制

类实例中的值

示例

在此示例中,我们将在类实例中打包值 -

class Namespace:
   def __init__(self, **args):
      for key, value in args.items():
         setattr(self, key, value)

def func4(args):
   # args is a mutable Namespace
   args.val1 = 'new-value'
   args.val2 = args.val2 + 1

args = Namespace(val1='old-value', val2=5)

# Function Call
func4(args)
print(vars(args))
登录后复制

输出

{'val1': 'new-value', 'val2': 6}
登录后复制
登录后复制

以上是如何在Python中编写具有输出参数(按引用调用)的函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板