假设我有两个 Python 函数,函数1 和函数2 。
功能1 会调用功能2 ,参数是一个大数据(例如,一个包含10万个元素的字典)。
我想知道在功能1 中调用功能2 之间是否存在任何性能差异,这意味着我需要传递大数据参数,并实现函数2 直接在函数1 中,这意味着我不需要传递大数据参数。
感谢。
PS:我认为关键问题是 Python 如何通过参数,值或引用(指针)传递?
编辑:这似乎是一个混乱的问题。 How do I pass a variable by reference?是一个很好的答案。
答案 0 :(得分:15)
Python按值传递对象的引用。这个术语是有争议和丑陋的,但应该没有真正的性能差异。
查看these answers以了解您可能想要的所有详细信息(希望如此)。
答案 1 :(得分:3)
python“通过”的术语是一个我不想进入的恶性辩论。但实际上在堆栈上传递的是一个引用。因此,无论您有哪种选择,都不会产生大量内存成本。