IT小白的成长之路python技巧

python的引用传递和值传递

2018-05-21  本文已影响1人  陆_志东

对于可变类型来说是引用传递

a = [1, 2, 3]
def changer_list(list1):
    list1[0] += 1
    return list1
print(changer_list(a))   # [2, 2, 3]
print(a)          #  [2, 2, 3]

对于不可变类型来说是值传递

a = 1
def changer_integer(num):
    num += 1
    return num
print(changer_integer(a))  #  2 
print(a)   # 1

将引用传递改为值传递的方式

import copy
b = [1, 2, 3]
def change_list(list1):
    list1[0] += 1
    return list1
print(change_list(copy.deepcopy(b)))  # [2, 2, 3]
print(b)     # [1, 2, 3]
上一篇 下一篇

猜你喜欢

热点阅读