python函数中对象传递

在python中,对象可以分为不可变类型和可变类型两种。

不可变类型:包含字符串、整数、元组等类型,类似c++中的值传递。

可变类型:包含列表、字典等类型,类似c++中的引用传递。

传递不可变类型对象的示例如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


def test_func(a):
    a = 10


if __name__ == '__main__':
    a = 5
    test_func(a)
    print(a)

输出:

5

由于a是整型,为不可变类型,因而输出结果为5。

传递可变类型对象的示例如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


def test_func(a):
    a.append(5)


if __name__ == '__main__':
    a = [1, 2, 3, 4]
    test_func(a)
    print(a)

输出:

[1, 2, 3, 4, 5]

由于a是列表,为可变类型,因而输出结果为[1, 2, 3, 4, 5]。

猜你喜欢

转载自blog.csdn.net/kevinjin2011/article/details/129405623
今日推荐