python---参数传递
2021-01-01 19:31
标签:方式 方法 赋值 数据结构 引用 必须 通过 保存 资源 引入 1、写程序时容易发生的一类错误 —— 传参过程中,数据结构发生了改变,但没有注意到。 所以就涉及到了可变对象 和 不可变对象 ,参数传递 是 传递值 还是 传递引用 2、Python 里所有的数据类型都是对象 值传递与引用传递: 值传递:就是拷贝参数自身所存储的值,将其传递给函数里的新变量 ,原变量和新变量之间 互不影响 引用传递:把参数自身的地址(引用)传递给新的变量, 新变量发生改变,将会引起原来变量的值一同改变 python中参数的传递: python参数里存储的是另一个对象的引用,所以既不是值传递,也不是引用传递,而是赋值传递(pass by assignment),或者是叫对象的引用传递(pass by object reference)。用白话说就是,我把我存储的另外一个对象的引用,传递给你。 必须要注意的是: python中赋值(或这说是对象的引用)传递,不是指向一个具体的内存地址,而是指向一个具体的对象。 如果对象是可变的,当其改变时,所有指向这个对象的变量都会改变。如果对象不可变,简单的赋值只能改变其中一个变量的值,其余变量则不受影响。 通过一个函数来改变某个变量的值,通常有两种方法: 直接将可变数据类型(比如列表,字典,集合)当作参数传入,直接在其上修改 在函数内另外创建一个新变量,保存修改后的值,然后通过return将其返回给原变量。这种方式更好一些,可以避免同时对同一资源的修改,避免静态条件引起的问题 del 关键字: del 只能删除一个变量,但是并不能删除任何对象(del引起的结果是,指向该对象的变量减少一个) python---参数传递 标签:方式 方法 赋值 数据结构 引用 必须 通过 保存 资源 原文地址:https://www.cnblogs.com/wl413911/p/12995575.html