当前位置: 首页 > news >正文

python 函数参数_python学习——理解python函数参数的传递

当我们在写python代码时,在传递参数的时候,是否遇到过这样的问题(在函数中更改参数的值或对参数进行操作后,外面的实参有时改变了,有时没有)如果不弄懂什么情况会变什么情况不会变,那么整个代码就很容易出错。

· python的内存机制:

29a457f1a9c1012ac19672ff659f2494.png

变量与值的关系

每个值都是对象,存储在内存中,有一个对应的地址,变量名引用了这个地址。

一般情况下,我们在函数内部直接修改形参的值不会影响到实参,因为修改后,这个变量就跟实参没有关系了,是一个新的变量了。

63df0e937c35ad39f39a232eea45f5b2.png

通过代码结果进行对比,可以发现,调用modify1函数后,可以看到在函数内直接修改参数后,函数内的参数和外面的实参不是指向同一个对象,并且外面的实参没有改变

调用modify2函数后,在函数内对参数的内容进行操作,函数内的参数和外面的实参仍然指向同一个对象,并且外面的实参也跟着一起改变了。

之所以调用modify2函数后为什么参数和实参为什么指向同一个对象,是因为没对参数进行更改,而是对参数内部的对象进行更改,通过查ls[0]的ID可以发现,ls[0]调用前和调用后指向的不是同一个对象。

a373613468f5d8a432e8e551bf923fe9.png

相关文章:

  • 红帽收购网景服务器软件 扩大开源产品阵容
  • linux查看文件大小以m为单位_102个Linux指令你都掌握了吗?
  • 韩国播放器Aquamp(已经汉化)
  • mysql输入密码后无反应_变频器通电后无反应,如何检查维修?
  • 鼎微系统刷机密码_Redme AC2100 刷机教程
  • Regsvr32在实际中的应用
  • fread读结构体返回值是0无错误_常见的C语言内存错误及对策
  • axios同步请求_Spring Boot+Vueaxios异步请求数据的12种操作(上篇)
  • Google的潜在大敌Vivisimo
  • c++程序判断该关系是否为函数与函数类型_【笔记】JavaScript 数据类型汇总
  • UTF-8与GB2312互转方法
  • python面向对象六大原则_Python 面向对象 OOP-三大特性#学习猿地
  • sdk是什么意思_深入浅出之技术知识,PM到底要懂些什么?
  • python中import time用法_详解python:time模块用法
  • 嵌入式Web视频点播系统实现方法
  • [NodeJS] 关于Buffer
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • bearychat的java client
  • CentOS 7 防火墙操作
  • css选择器
  • IDEA 插件开发入门教程
  • PHP 7 修改了什么呢 -- 2
  • Protobuf3语言指南
  • SQLServer之索引简介
  • Tornado学习笔记(1)
  • Vue小说阅读器(仿追书神器)
  • Webpack 4x 之路 ( 四 )
  • Windows Containers 大冒险: 容器网络
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 高性能JavaScript阅读简记(三)
  • 关于Flux,Vuex,Redux的思考
  • 事件委托的小应用
  • 手写双向链表LinkedList的几个常用功能
  • 主流的CSS水平和垂直居中技术大全
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • # centos7下FFmpeg环境部署记录
  • $.ajax()参数及用法
  • (Python第六天)文件处理
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (十八)SpringBoot之发送QQ邮件
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (一)Dubbo快速入门、介绍、使用
  • (转)nsfocus-绿盟科技笔试题目
  • (转)负载均衡,回话保持,cookie
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET CLR基本术语
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net mvc actionresult 返回字符串_.NET架构师知识普及