python形参和实参同名_一道题带你搞定Python函数中形参和实参问题
昨天在Python学习群里有位路人甲问了个Python函数中关于形参和实参一个很基础的问题,虽然很基础,但是对于很多小白来说不一定简单,反而会被搞得稀里糊涂。人生苦短,我用Python。
为了解答大家的这个疑惑,小编在此举个栗子,希望大家能够彻底的理解实参和形参在Python中的用法。
首先,大家一起看个栗子。
这个函数的输出值是多少?很多人会回答7,其实程序运行之后,其答案是6,点解呢?
为什么在这里形参的数值并不改变实参的数值?
这里需要给大家普及一个Python中的基础,在python中,string(字符串), tuples(元组), 和number(数值)是不可更改的对象,而list(列表),dict(字典)等则是可以修改的对象。
也就是说,这里形参的数值对于外部的实参的数值(number类型,不可变)来说是没有任何关系的,他们虽然是同一个名字,但是其指向对象是不一样的。所以当在程序最后进行打印a输出值的时候,其输出仍然是6。
下面这个栗子我们来看看可变的对象,以list(列表)作为实验对象。
这个函数的输出值是多少?很多人会回答[1,2],其实程序运行之后,其答案是[2,1]。
与第一个栗子刚刚相反,这里形参的数值调用把实参改变了。因为本例中参数传递的是列表,其是可更改的对象,在函数内部经过系列赋值变化之后,所以在程序运行之后其输出值产生了变化。
山重水复疑无路,柳暗花明又一村。这道题经常会被招聘公司和企业拿去作为面试题,考察面试狗的Python基础知识,希望大家好好参详,日后碰到类似的问题加以注意,少走弯路!
最后感谢在Python群中积极提问的好学者,然我们大家一起为学好Python而奋斗吧!
想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/
python形参和实参同名_一道题带你搞定Python函数中形参和实参问题相关推荐
- python 找到装饰器_[译] 12步轻松搞定python装饰器
呵呵!作为一名教python的老师,我发现学生们基本上一开始很难搞定python的装饰器,也许因为装饰器确实很难懂.搞定装饰器需要你了解一些函数式编程的概念,当然还有理解在python中定义和调用函数 ...
- 五分钟学会python函数_五分钟带你搞懂python 迭代器与生成器
前言 大家周末好,今天给大家带来的是Python当中生成器和迭代器的使用. 我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉得这是一种新的获取数据的方法.对于获取数据的方法而言,我们会一种就 ...
- 一篇文章带你搞定Python返回函数
一.什么是返回函数? 返回函数,简单的说就是返回值是一个函数. 返回的是函数,调用返回的函数的时候才会返回结果. 二.闭包 (以返回函数的形式实现) 相关参数和变量都保存在返回的函数中,这种称为&qu ...
- 干货 | 一文带你搞定Python 数据可视化
2019独角兽企业重金招聘Python工程师标准>>> 01前言 在之前的一篇文章<Python 数据可视化利器>中,我写了 Bokeh.pyecharts 的用法,但是 ...
- python 包和模块的区别_3分钟带你搞懂Python模块、包的区别和使用
一.模块和包的定义 模块的定义:任何*.py 的文件都可以当作模块使用import 导入 包的定义:包含一个__init__.py和其他模块.其他子包的一个目录 实际项目中,所谓的包和模块分别代表什么 ...
- java 不重启部署_一篇文章带你搞定SpringBoot不重启项目实现修改静态资源
一.通过配置文件控制静态资源的热部署 在配置文件 application.properties 中添加: #表示从这个默认不触发重启的目录中除去static目录 spring.devtools.res ...
- DDD进阶_一文带你搞定什么是前台、中台、后台
DDD从入门到精通,系列文章传送地址,请点击本链接. 目录 一.中台和平台的关系 二.什么是中台? 三.数字化转型中台应该共享什么? 四.如何实现前中后台的协同? 1. 前台 2. 中台 3. 后台 ...
- python机器学习日志.01 ———三天搞定Python基本功.网页提纲
大纲( Outline) 第1天:Python和科学编程介绍. Python中的基础知识: - 数据类型 - 控制结构 - 功能 - I/O文件 第2天:用Numpy,Scipy,Matplotlib ...
- python课件_如何20小时搞定Python量化期权实战?
<Python量化期权实战应用>课程,在预售初期就备受关注,课程开始上线以来,内容更是受到了广大学员的一致好评. 眼看着课程就快要更新完毕了,如果还没有开始学习的同学要抓紧时间了. 课程总 ...
最新文章
- java which语句,java入门之表达式、语句、块
- Nature news: 未来40年,DNA测序将走向何方?
- f5 2017.09.03故障
- 机器学习算法:补一个k-近邻算法的测试
- 微软 azure_在Microsoft Azure上运行Eclipse MicroProfile
- MSG_NOSIGNAL
- 小米澄清「手机不再支持GMS」;虾米音乐正式关停;《质量效应1》DLC 因源代码损坏而移除 | 极客头条...
- 快速排序算法的优化思路总结
- printf标识总结
- 直播一小时营收破百万!虚拟主播说英文在B站疯狂吸金,背后企划公司IPO作价23亿...
- 发现好文!51单片机特殊功能寄存器 /I/O口操作 /中断/ 定时器/ 串口通信/ ---位寻址解释由来--以及程序例程
- Excel个人学习笔记
- 上海房产税免征--积分或居住证
- Kindle Fire v6.3 root 教程
- 设置matlab图像线框,matlab在图像中画长方形(框)
- PHP 5.6.6 上运行 ecshop 2.7.3 不兼容问题整合
- Web3.0时代,公关营销化的阵痛和蝶变
- Android初学 抖音短视频无水印下载APP的实现
- php 编辑器 插入视频,织梦dedecms默认编辑器实现上传视频功能
- Atmel单片机并口下载线制作
热门文章
- 读一本好书就像结识了一位好朋友
- 王下邀月熊的2016上半年博客精选
- 【报告分享】年轻人头发报告-36氪后浪研究所(附下载)
- 《企业网络构建与安全管理教程》上册
- 【2023 年第三届长三角高校数学建模竞赛】C 题 考研难度知多少 考研情况相关数据下载
- 科技资讯|Apple Vision Pro新专利,关于相对惯性测量系统的校正
- Composer update runs out of memory
- idea启动报错Native memory allocation (malloc) failed to allocate
- 三种情况别离场与四种分辨洗盘出货方法
- 微型计算机的主板上有没有集成键盘和鼠标的,具有集成式键盘和鼠标的KeyMouse,无需离开键盘即可使用鼠标...