Python对可变对象(字典或列表)传址, 对不可变对象(数字、字符或元祖)传值。
def demo_func(parm):
"""输出整数或者列表改变后的值
:param parm: 整数或者列表
:return:
"""
if isinstance(parm, int):
parm += 1
elif isinstance(parm, list):
parm.append(1)
print(parm)
if __name__ == '__main__':
# 定义整数类型
int_parm = 1
# 函数内整数值修改(不可变类型不能修改值,其实这里是变量另外赋值)
demo_func(int_parm) # 输出为2
# 输出整数值,查看对象的值是否被修改
print(int_parm) # 输出为1,值未改变,说明传值
# 定义列表类型
list_patm = [1,2,3]
# 函数修改列表
demo_func(list_patm) # 输出[1, 2, 3, 1]
# 查看函数外部列表是否发生改变
print(list_patm) # 输出[1, 2, 3, 1],列表发生改变,说明传址