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中编写具有输出参数(按引用调用)的函数?的详细内容,更多请关注编程之家其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。