zoukankan      html  css  js  c++  java
  • 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处理列表和字段变量时采用这种方式,可能会导致令人困惑的缺陷。

  • 相关阅读:
    在VMWare的虚拟机中设置共享文件夹(Linux-Ubuntu系统)
    得到cell视图
    推送
    常用框架
    截屏
    多线程枷锁
    java与IOS的交互
    缓存机制
    iOS数据库操作(使用FMDB)
    插入排序
  • 原文地址:https://www.cnblogs.com/lirongyang/p/9538346.html
Copyright © 2011-2022 走看看