昨天在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函数中形参和实参问题相关推荐

  1. python 找到装饰器_[译] 12步轻松搞定python装饰器

    呵呵!作为一名教python的老师,我发现学生们基本上一开始很难搞定python的装饰器,也许因为装饰器确实很难懂.搞定装饰器需要你了解一些函数式编程的概念,当然还有理解在python中定义和调用函数 ...

  2. 五分钟学会python函数_五分钟带你搞懂python 迭代器与生成器

    前言 大家周末好,今天给大家带来的是Python当中生成器和迭代器的使用. 我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉得这是一种新的获取数据的方法.对于获取数据的方法而言,我们会一种就 ...

  3. 一篇文章带你搞定Python返回函数

    一.什么是返回函数? 返回函数,简单的说就是返回值是一个函数. 返回的是函数,调用返回的函数的时候才会返回结果. 二.闭包 (以返回函数的形式实现) 相关参数和变量都保存在返回的函数中,这种称为&qu ...

  4. 干货 | 一文带你搞定Python 数据可视化

    2019独角兽企业重金招聘Python工程师标准>>> 01前言 在之前的一篇文章<Python 数据可视化利器>中,我写了 Bokeh.pyecharts 的用法,但是 ...

  5. python 包和模块的区别_3分钟带你搞懂Python模块、包的区别和使用

    一.模块和包的定义 模块的定义:任何*.py 的文件都可以当作模块使用import 导入 包的定义:包含一个__init__.py和其他模块.其他子包的一个目录 实际项目中,所谓的包和模块分别代表什么 ...

  6. java 不重启部署_一篇文章带你搞定SpringBoot不重启项目实现修改静态资源

    一.通过配置文件控制静态资源的热部署 在配置文件 application.properties 中添加: #表示从这个默认不触发重启的目录中除去static目录 spring.devtools.res ...

  7. DDD进阶_一文带你搞定什么是前台、中台、后台

    DDD从入门到精通,系列文章传送地址,请点击本链接. 目录 一.中台和平台的关系 二.什么是中台? 三.数字化转型中台应该共享什么? 四.如何实现前中后台的协同? 1. 前台 2. 中台 3. 后台 ...

  8. python机器学习日志.01 ———三天搞定Python基本功.网页提纲

    大纲( Outline) 第1天:Python和科学编程介绍. Python中的基础知识: - 数据类型 - 控制结构 - 功能 - I/O文件 第2天:用Numpy,Scipy,Matplotlib ...

  9. python课件_如何20小时搞定Python量化期权实战?

    <Python量化期权实战应用>课程,在预售初期就备受关注,课程开始上线以来,内容更是受到了广大学员的一致好评. 眼看着课程就快要更新完毕了,如果还没有开始学习的同学要抓紧时间了. 课程总 ...

最新文章

  1. java which语句,java入门之表达式、语句、块
  2. Nature news: 未来40年,DNA测序将走向何方?
  3. f5 2017.09.03故障
  4. 机器学习算法:补一个k-近邻算法的测试
  5. 微软 azure_在Microsoft Azure上运行Eclipse MicroProfile
  6. MSG_NOSIGNAL
  7. 小米澄清「手机不再支持GMS」;虾米音乐正式关停;《质量效应1》DLC 因源代码损坏而移除 | 极客头条...
  8. 快速排序算法的优化思路总结
  9. printf标识总结
  10. 直播一小时营收破百万!虚拟主播说英文在B站疯狂吸金,背后企划公司IPO作价23亿...
  11. 发现好文!51单片机特殊功能寄存器 /I/O口操作 /中断/ 定时器/ 串口通信/ ---位寻址解释由来--以及程序例程
  12. Excel个人学习笔记
  13. 上海房产税免征--积分或居住证
  14. Kindle Fire v6.3 root 教程
  15. 设置matlab图像线框,matlab在图像中画长方形(框)
  16. PHP 5.6.6 上运行 ecshop 2.7.3 不兼容问题整合
  17. Web3.0时代,公关营销化的阵痛和蝶变
  18. Android初学 抖音短视频无水印下载APP的实现
  19. php 编辑器 插入视频,织梦dedecms默认编辑器实现上传视频功能
  20. Atmel单片机并口下载线制作

热门文章

  1. 读一本好书就像结识了一位好朋友
  2. 王下邀月熊的2016上半年博客精选
  3. 【报告分享】年轻人头发报告-36氪后浪研究所(附下载)
  4. 《企业网络构建与安全管理教程》上册
  5. 【2023 年第三届长三角高校数学建模竞赛】C 题 考研难度知多少 考研情况相关数据下载
  6. 科技资讯|Apple Vision Pro新专利,关于相对惯性测量系统的校正
  7. Composer update runs out of memory
  8. idea启动报错Native memory allocation (malloc) failed to allocate
  9. 三种情况别离场与四种分辨洗盘出货方法
  10. 微型计算机的主板上有没有集成键盘和鼠标的,具有集成式键盘和鼠标的KeyMouse,无需离开键盘即可使用鼠标...