昨天在Python学习群里,有路人问了一个很基础的问题,关于Python函数中的形参和实参。对于很多小白来说,不一定简单,但会一头雾水。人生苦短,我用Python。为了解答大家的疑惑,小编在此举个栗子,希望大家能够深入了解Python中实参和形参的用法。首先,我们一起来看一个栗子。这个函数的输出值是多少?很多人会回答7,其实程序运行后,答案是6,解决方法是什么?为什么这里的形参的值不会改变实参的值呢?这里需要普及一下Python的一个基础。在python中,string(字符串)、tuples(元组)、number(值)是不可变对象,而list(列表)、dict(字典)等是可修改对象。也就是说,形参的值与外部实参(数字类型,不可变)的值无关。尽管它们具有相同的名称,但它们指向不同的对象。所以当程序最后打印a的输出值时,输出的还是6。下面举个栗子,我们来看看可变对象,以列表(list)作为实验对象。这个函数的输出值是多少?很多人会回答[1,2]。其实程序运行后,答案就是[2,1]。和第一个栗子正好相反,这里的形参的取值调用改变了实参。因为本例中传递的参数是一个列表,它是一个可变对象,在函数内部经过一系列的赋值变化后,程序运行后其输出值也会发生变化。山阴暗,远景。这道题经常被招聘公司和企业用作面试题,考察面试狗中的Python基础知识。希望大家认真参考,以后遇到类似问题要注意,少走弯路!最后感谢Python群里积极提问的好学者,让我们一起努力学好Python!如果想深入了解Python网络爬虫和数据挖掘,可以去专业网站:http://pdcfighting.com/
