文章目录
题目
Python是按引用调用还是按值调用?
回答
这题主要是考试对于python数据类型的认知。
1.首先对于不可变对象,字符,元组,数字往往是按引用进行调用,示例如下:
python
def add(s):
s=s+'odd'
s='o'
add(s)
print(s)
"""输出结果:
'o'-----从这里可以看出函数中的是一个新的变量,并将 s 的引用指向它
"""
2.对于可变对象,如列表往往是通过值进行调用,我们在函数内部进行修改会回馈给外部的列表变量,示例如下:
python
def add(s):
s.append(4)
s=[1,2,3]
add(s)
print(s)
"""输出结果:
[1, 2, 3, 4]-----可以发现函数内部值的变化已经影响到了外部值的变化,所以是值的调用
"""