python函数如何传递参数?

来源:千锋教育
发布时间:2023-11-08 15:32:23
分享

python中,函数参数由实参传递给形参的过程,是由参数传递机制来控制的。根据实际参数的类型不同,函数参数的传递方式分为值传递和引用传递(又称为地址传递)。

Python函数参数的值传递机制

所谓值传递,实际上就是将实际参数值的副本(复制品)传入函数,而参数本身不会受到任何影响。

下面程序演示了函数参数进行值传递的效果:

defswap(a,b):

#下面代码实现a、b变量的值交换

a,b=b,a

print("swap函数里,a的值是",\

a,";b的值是",b)

a=6

b=9

swap(a,b)

print("交换结束后,变量a的值是",\

a,";变量b的值是",b)

运行上面程序,将看到如下运行结果:

swap函数里,a的值是9;b的值是6

交换结束后,变量a的值是6;变量b的值是9

从上面的运行结果来看,在swap()函数里,a和b的值分别是9、6,交换结束后,变量a和b的值依然是6、9。从这个运行结果可以看出,程序中实际定义的变量a和b,并不是swap()函数里的a和b。

Python函数参数的引用传递

如果实际参数的数据类型是可变对象(列表、字典),则函数参数的传递方式将采用引用传递方式。需要注意的是,引用传递方式的底层实现,采用的依然还是值传递的方式。

下面程序示范了引用传递参数的效果:

defswap(dw):

#下面代码实现dw的a、b两个元素的值交换

dw['a'],dw['b']=dw['b'],dw['a']

print("swap函数里,a元素的值是",\

dw['a'],";b元素的值是",dw['b'])

dw={'a':6,'b':9}

swap(dw)

print("交换结束后,a元素的值是",\

dw['a'],";b元素的值是",dw['b'])

运行上面程序,将看到如下运行结果:

swap函数里,a元素的值是9;b元素的值是6

交换结束后,a元素的值是9;b元素的值是6

从上面的运行结果来看,在swap()函数里,dw字典的a、b两个元素的值被交换成功。不仅如此,当swap()函数执行结束后,主程序中dw字典的a、b两个元素的值也被交换了。

这很容易造成一种错觉,即在调用swap()函数时,传入swap()函数的就是dw字典本身,而不是它的复制品。

以上内容为大家介绍了python函数如何传递参数?希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • pdf如何用python读取? python中可以使用pdfminer库来读取PDF文件中的内容。安装命令:pipinstallpdfminerpipinstallpdfminer3kpython中读取PDF文件代码:fromurl
  • python map()函数怎么用? pythonmap()会根据提供的函数对指定序列做映射。第一个参数function以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的新列表。map()函数语法:
  • python怎么导入图片? python导入图片的方法:一、直接从源图片中导入(图片位于images文件夹内)self.label1=QLabel(self)self.label1.setPixmap(QPixmap(r"ima
  • python里小数如何表述? 1、Python中的小数存在精度问题:>>>0.1+0.1+0.1-0.35.551115123125783e-17>>>print(0.1+0.1+0.1-0.3)5.551115123125783
  • chr在python中怎么用? python中chr()用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。以下是chr()方法的语法:chr(i)参数i--可以是10进制也可以是16进制的形式的数
  • centos如何安装python的ide? centos安装pythonIDE的方法:python常用的集成开发环境IDE1:Eclips+PyDevIDE2:VIM下面我们就来看一下在centos中安装pythonIDEEclips+PyDe