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]



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