实参的类型

'''
当传递的参数是不可变对象时(常量、字符串、元组),在函数中对其修改不影响原值
'''
def fn3(a):
    a=20
    print('a =', a)
b=10
fn3(b)      # a = 20
print('b =',b) # b = 10
'''
当传递的参数是可变对象时(列表、字典、集合),在函数中对其修改同时对原值进行修改
当我们不想改变原变量值时可以对可变对象进行复制,形如fn(b.copy())
'''
def fn4(a):
    a[0] = 99
    print('a =', a)
b = [10, 6, 7, 8]
# fn4(b)      # a = [99, 6, 7, 8],b = [99, 6, 7, 8]
fn4(b.copy())   # a = [99, 6, 7, 8],b = [10, 6, 7, 8]
print('b =', b)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章