可变对象与不可变对象
不可变对象
- 数值类型(int、float、bool、bytes)
- 字符串类型(str)
- 元组类型(tuple)
可变对象
- 列表
- 集合
- 字典
- 类
可变对象做形参(可以看做Java中的引用对象传参)
def fun1(list1):
for i in len(list1):
list1[i] += 1
list1 = [1, 2, 3, 4, 5]
fun1(list1)
print(list1)
打印:
[2, 3, 4, 5, 6]
分析
- 可变对象做形参可以看做Java中的引用对象传参
- 传递的对象可以看做传递的是地址值
不可变参数做形参
def fun1(num1):
num1 = 2
num1 = 1
fun1(num1)
print(num1)
打印:
1
分析
- 不可变参数做形参相当于Java中的基本数据类型当做形参