发布网友 发布时间:2022-05-10 16:14
共2个回答
懂视网 时间:2022-05-10 20:35
这篇文章主要介绍了Python引用传值概念与用法,简单分析了Python引用传值的概念、功能并结合实例形式总结分析了Python引用传值的具体实现与使用方法,需要的朋友可以参考下本文实例讲述了Python引用传值概念与用法。分享给大家供大家参考,具体如下:
Python函数的参数传值使用的是引用传值,也就是说传的是参数的内存地址值,因此在函数中改变参数的值,函数外也会改变。
这里需要注意的是如果传的参数类型是不可改变的,如String类型、元组类型,函数内如需改变参数的值,则相当于重新新建了一个对象。
# 添加了一个string类型的元素添加到末尾 def ChangeList(lis): lis.append('hello i am the addone') print lis return lis = [1, 2, 3] ChangeList(lis) print lis
得到的结果是:
[1,2,3, 'hello i am the addone'] [1,2, 3,'hello i am the addone']
def ChangeString(string): string = 'i changed as this' print string return string = 'hello world' ChangeString(string) print string
String是不可改变的类型,得到的结果是:
i changed as this hello world
热心网友 时间:2022-05-10 17:43
最近也在用这个接口。我如果试完了再给你回复。以前用过几次忘记了。通常是C++调用python的DLL解析器时,本身就初始化好PyObject,然后作为形参。所以python赋值后,自然就可以被C++拿到。如果是返过来。python调用C++,这方面我最近在试验Boost, 也建议你这么做。这样参数调用的问题就简单了。