python函数引用 python函数引用外部变量( 二 )


python引用主要有:不可变数据引用和可变数据引用,其中不可变数据引用包括:字符串String、浮点型Float、元祖Tuple 。
1、字符串String
#1.字符串引用a='1234'b=aa='hello'print('a:',a) #a:helloprint('b:',b)#b:1234#查看内存地址print('a的内存地址是:',id(a))print('a的内存地址是:',id(b))结果是:a: hellob: 1234a的内存地址是: 1651738050720a的内存地址是: 1651737219456分析:b的值指向a的值 。python开辟了新的内存空间给b,所以a和b的内存地址不一样 。
2、浮点型Float
#2.浮点型引用x=3.14y=xx=9.88print('x:',x)print('y:',y)print('x的内存地址是:',id(x))print('y的内存地址是:',id(y))结果是:x: 9.88y: 3.14x的内存地址是: 2578075558248y的内存地址是: 2578075558008
3、元祖Tuple
元祖虽然是序列,且包含多个元素,但是不支持原处修改,如tuple[1]=1是非法的 。#3.元祖引用t1=(1,2,3,4,5)t2=t1t1=('tuple','hello')print('t1:',t1)print('t2:',t2)print('t1的内存地址是:',id(t1))print('t2的内存地址是:',id(t2))结果是:t修改后为: (1, 2, 3, ['x', 'a', 'D', 'b'])可变数据引用包括:列表引用、字典引用、函数的传递引用
1、列表引用
#4 列表的可变引用list1=[1,2,3,4,5]list2=list1list1[3]='list'print('list1=====%s'%list1)print('list2=====%s'%list2)print('list1的内存地址是:',id(list1))print('list2的内存地址是:',id(list2))结果是:list1=====[1, 2, 3, 'list', 5]list2=====[1, 2, 3, 'list', 5]list1的内存地址是: 2769992249864list2的内存地址是: 2769992249864
2、函数的传递引用
def eggs(someParameter):someParameter.append('hello list')spam=[1,2,3,4]eggs(spam)print(spam)结果是:[1, 2, 3, 4, 'hello list']
3、字典引用#5 字典的引用a={'name':'Cathy','age':'27','job':'coder'}b=aa['age']='30'b['name']='Bob'print('a======%s'%a)print('b======%s'%b)print('a的内存地址是:', id(a))print('b的内存地址是:', id(b))结果是:a======{'name': 'Bob', 'age': '30', 'job': 'coder'}b======{'name': 'Bob', 'age': '30', 'job': 'coder'}a的内存地址是: 2510825602792b的内存地址是: 2510825602792
关于python函数引用和python函数引用外部变量的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读