python引用的問題

# 引用
# a = 1
# b = a
# print(id(a), id(b))


# python中 小數據 -5到256
# a = 10
# b = 10
# print(id(a), id(b))


a = [1, 2]
b = a
print(id(a), id(b))
# a.append(3)
# print(id(a), id(b))


a = [1, 2]
b = a[:] # b指向另外一個內存

print(id(a), id(b))




# 注意點

# 注意(形參是一個可變的數據類型 而且是一個缺省參數)
# 定義一個函數 在內存中也指向了一個地址 自然b也指向一個地址
def func(b = []):
    b.append(1)
    print(b)
func()  #[1]
func()  #[1, 1]
func()  #[1, 1, 1]
# 怎麼能不讓b 改變呢
def func(b = None):
    b = []
    b.append(1)
    print(b)
func() #[1]
func() #[1]
func() #[1]



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章