栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Day2-----引用、引用做函数参数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Day2-----引用、引用做函数参数

一、引用

通过id()来查看变量的引用 

可以将id值认为是内存地址的别名

python数据值的传递用引用 

赋值运算可以改变变量的引用

# 将数据10存储在变量a中 本质:将数据10所在的内存的引用地址保存在变量a中
a=10
# 将变量a中保存的引用地址给b
b=a
# 打印变量a,b 引用中存储的值
print(a,b)
print(id(a),id(b))
print('-'*10)

my_list=[1,2,3] #将列表的引用地址给变量
my_list1=my_list #将变量中存储的引用地址给新 变量
print(my_list1,my_list)
print(id(my_list1),id(my_list))
print('-'*10)

my_list.append(4) #将4的引用保存在列表中
print(my_list,id(my_list))
print(my_list1,id(my_list1))
print('-'*10)

print(f'my_list[2]: {id(my_list[2])}')
my_list[2]=5
print(f'my_list[2]: {id(my_list[2])}')
print(my_list,id(my_list))
print(my_list1,id(my_list1))
print()
print('-'*10)
二、引用做函数参数
函数传参传递的是引用

 

my_list=[1,2,3]
print(id(my_list))
print('-'*10)

def func1(a):
    a.append(4)
func1(my_list)
print(my_list)
print(id(my_list))
print('-'*10)

# 只有改变全局变量的引用时,才才使用global

def func2():
    my_list.append(5)

func2()
print(my_list)
print(id(my_list))
print('-'*10)

def func3():
    global my_list # 修改全局变量的值
    my_list=[1,2,3]
func3()
print(my_list)
print(id(my_list))
print('-'*10)

def func4(a):
    # 对于+=,类似列表的extend 不会改变变量的引用地址
    a+=a
   # print(a)
b=10 # b是不可变类型
func4(b)
print(b)
func4(my_list)
print(my_list)
print('-'*10)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1030726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号