Python函数调用时,参数传递方式是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2797个文字,预计阅读时间需要12分钟。
在Python中,函数参数的传递有值传递和引用传递两种方式。下面是对您提供代码的简写和解释:
Python参数传递:值传递还是引用传递?
test1.py:def test(num): num +=10 x=1 test(x) print(x)
输出结果:1
test2.py:def test(lst): lst[0]=4 lst[1]=5 tlist=[1, 2] test(tlist) print(tlist)
输出结果:[4, 5]
解释:- 在`test1.py`中,参数`num`是基本数据类型(如整数、浮点数、字符串等),所以在函数内部对`num`的修改不会影响函数外部的变量。- 在`test2.py`中,参数`lst`是一个可变对象(如列表、字典等),所以在函数内部对`lst`的修改会影响到原始对象。这是因为可变对象是通过引用传递的。
python的参数传递
python中参数传递到底是传值还是传引用呢?
test1.py:def test(num):num += 10
x = 1
test(x)
print x
输出结果:1
test2.py:def test(lst):lst[0] = 4
lst[1] = 5
tlist = [1,2]
test(tlist)
print tlist
在上述代码test1.py中,在函数中修改传入的x的值,函数执行完之后,x并没有改变,至少对于int型变量而言,python函数调用为传值。
本文共计2797个文字,预计阅读时间需要12分钟。
在Python中,函数参数的传递有值传递和引用传递两种方式。下面是对您提供代码的简写和解释:
Python参数传递:值传递还是引用传递?
test1.py:def test(num): num +=10 x=1 test(x) print(x)
输出结果:1
test2.py:def test(lst): lst[0]=4 lst[1]=5 tlist=[1, 2] test(tlist) print(tlist)
输出结果:[4, 5]
解释:- 在`test1.py`中,参数`num`是基本数据类型(如整数、浮点数、字符串等),所以在函数内部对`num`的修改不会影响函数外部的变量。- 在`test2.py`中,参数`lst`是一个可变对象(如列表、字典等),所以在函数内部对`lst`的修改会影响到原始对象。这是因为可变对象是通过引用传递的。
python的参数传递
python中参数传递到底是传值还是传引用呢?
test1.py:def test(num):num += 10
x = 1
test(x)
print x
输出结果:1
test2.py:def test(lst):lst[0] = 4
lst[1] = 5
tlist = [1,2]
test(tlist)
print tlist
在上述代码test1.py中,在函数中修改传入的x的值,函数执行完之后,x并没有改变,至少对于int型变量而言,python函数调用为传值。

