前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python大神用一道题带你搞定Python函数中形参和实参问题

Python大神用一道题带你搞定Python函数中形参和实参问题

作者头像
Python进阶者
发布2018-08-03 17:48:35
7490
发布2018-08-03 17:48:35
举报

昨天在Python学习群里有位路人甲问了个Python函数中关于形参和实参一个很基础的问题,虽然很基础,但是对于很多小白来说不一定简单,反而会被搞得稀里糊涂。人生苦短,我用Python。

为了解答大家的这个疑惑,小编在此举个栗子,希望大家能够彻底的理解实参和形参在Python中的用法。

首先,大家一起看个栗子。

不可更改的对象

这个函数的输出值是多少?很多人会回答7,其实程序运行之后,其答案是6,点解呢?

为什么在这里形参的数值并不改变实参的数值?

这里需要给大家普及一个Python中的基础,在python中,string(字符串), tuples(元组), 和number(数值)是不可更改的对象,而list(列表),dict(字典)等则是可以修改的对象。

也就是说,这里形参的数值对于外部的实参的数值(number类型,不可变)来说是没有任何关系的,他们虽然是同一个名字,但是其指向对象是不一样的。所以当在程序最后进行打印a输出值的时候,其输出仍然是6。

下面这个栗子我们来看看可变的对象,以list(列表)作为实验对象。

可更改的对象

这个函数的输出值是多少?很多人会回答[1,2],其实程序运行之后,其答案是[2,1]。

与第一个栗子刚刚相反,这里形参的数值调用把实参改变了。因为本例中参数传递的是列表,其是可更改的对象,在函数内部经过系列赋值变化之后,所以在程序运行之后其输出值产生了变化。

山重水复疑无路,柳暗花明又一村。这道题经常会被招聘公司和企业拿去作为面试题,考察面试狗的Python基础知识,希望大家好好参详,日后碰到类似的问题加以注意,少走弯路!

感谢在Python群中积极提问的好学者,然我们大家一起为学好Python而奋斗吧!最后祝福大家情人节快乐~~~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫与数据挖掘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档