Python参数传递机制:到底是传值还是传引用?

Python参数传递机制:到底是传值还是传引用?,第1张

参考链接:http://c.biancheng.net/view/2258.html



通过上面介绍可以得出如下两个结论:

  • 不管什么类型的参数,在 Python 函数中对参数直接使用“=”符号赋值是没用的,直接使用“=”符号赋值并不能改变参数。


  • 如果需要让函数修改某些数据,则可以通过把这些数据包装成列表、字典等可变对象,然后把列表、字典等可变对象作为参数传入函数,在函数中通过列表、字典的方法修改它们,这样才能改变这些数据。


def A(matrix, string):
    for i in range(len(matrix)):
        for j in range(len(matrix[i])):
            print(matrix[i][j])
    print(string)

def B(matrix, string):
    matrix[0][0] = 0
    for i in range(len(matrix)):
        for j in range(len(matrix[i])):
            print(matrix[i][j]) 
    string[0] = '1'
    print(string)
                

matrix = [[1, 2], [3, 4]]
string = ['haha', 'nihao']
A(matrix, string) 

B(matrix, string)

输出结果

1
2
3
4
['haha', 'nihao']
0
2
3
4
['1', 'nihao']

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/570833.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存