Python学习笔记函数之传递引用

随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  要理解参数如何传递给函数,引用就特别重要。当函数被调用时,参数的值被复制给変元,对于列表,这意味着

変元得到的是引用拷贝。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  1、示例代码:

#
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
def eggs(someParameter):#定义一个函数
    someParameter.append('hello')#像列表中追加hello元素
spam = [1,2,2]#定义一个列表
eggs(spam)#函数调用
print(spam)#打印列表

  运行结果:

  根据结果可以看出,虽然eggs()函数没有返回值,但是当调用eggs()函数时,spam列表还是被修改了,这是因为尽管spam和someParameter包含了不同的引用,

但它们都是指向相同的列表。这就是为什么函数内的append(‘hello’)方法调用在函数调用返回后,仍然会对列表产生影响。

  记住这种行为:如果忘了Python处理列表和字段变量时采用这种方式,可能会导致令人困惑的缺陷。

原文地址:https://www.cnblogs.com/lirongyang/p/9538346.html