Python的参数值是如何传入函数的呢?这是由Python 函数的参数传递机制来控制的。Python中函数的参数传递机制都是“值传递”。所谓值传递,就是将实际参数值的副本(复制品)传入函数,而参数本身不会受到任何影响。
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/01
# @Author : Laopi
def swap(a,b):
#将a,b的值交换
a,b = b,a
print("在函数swap里,a的值是:",a,";b的值是:",b)
a = 7
b = 9
swap(a,b)
print("交换结束之后,变量a的值是",a,";变量b的值是",b)
运行完上面的程序,运行结果如下

从上面的运行结果来看,在swap()函数里,a和b的值分别是9、6,交换结束后,变量a和b的值依然是6、9。从这个运行结果可以看出,程序中实际定义的变量a和b,并不是 wap函数里的a和b。正如前面所讲的,swap()函数里的a和b只是主程序中变量a和b的复制品。
当程序执行 swap()函数时,系统进入swap()函数,并将主程序中的a、b变量作为参数值传入swap()函数,但传入swap()函数的只是a、b的副本,而不是a、b本身。进入swap()函数后,系统中产生了4个变量,这4个变量在内存中的存储示意图如下:

本文详细探讨了Python函数参数的传递机制,解释了值传递的概念,通过实例展示了如何在函数内部改变可变对象如列表和字典的值,从而影响函数外部的数据。总结了在Python中直接使用'='赋值无法改变参数以及通过可变对象实现数据修改的要点。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



