🚩 WRITE IN FRONT 🚩
- 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎
- 🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大博主、华为云享专家、阿里云专家博主、掘金优秀创作者、全网粉丝量7w+、个人社区人数累计4w+、全网访问量100w+ 🏅
- 🆔 本文章内容由 謓泽 原创 如需相关转载请提前告知博主 ⚠
- 📑 创作时间:2022 年 4 月 22 日 📅
- 📝 个人主页:謓泽的博客 📃
- 📣 专栏系列:【Python】系列_謓泽的博客📃
- 🙌 Gitee:謓泽 (wsxsx) - Gitee.com ⭐️
- 🎁 点赞👍+ 收藏⭐️+ 留言📝
✉️ 我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 📩
变量的引用
变量 和 数据 都是保存在 内存 当中的。
🍅计算机当中所有的数据都是必须要放在内存当中的,不同类型的数据占用的字节数不一样。
在 Python 当中函数的参数传递以及返回值都是靠引用来进行传递的。
引用的概念
在 Python 当中......
⒈变量和数据是分开存储的。
🍅程序就可以通过变量名来访问对应的内存地址『数据类型分配一定大小的内存空间』
⒉数据保存在内存中的一个位置。
⒊变量中保存着数据在内存中的地址。
⒋变量中记录数据的地址,就叫做是引用
⒌id()函数可以查看变量中保存数据所在的内存地址。
注意→如果变量已经被定义了的话,当给一个变量赋值的时候,本质上是修改数据的引用。
- Ⅰ:变量不再对之前的数据进行引用。
- Ⅱ:变量改为对新赋值的数据进行引用。
用id()函数查看int当中的内存地址,示例代码如下↓
num = 123456 print(id(num)) print(id(123456)) # 变量当中的值与数据一样那么内存地址也同
运行结果🖊
2176464156944
2176464156944
拓展:在编写程序的时候我们可以养成一个好的习惯,看到赋值语句,我们可以把注意力首先放到等号的右侧当中。
调用函数传递实参
示例代码如下↓
def test(num):print("在函数内部%d对应的内部地址是%d" % (num,id(num)))a = 10 print("变量保存数据的地址是%d" %(id(a))) test(a)
运行结果🖊
变量保存数据的地址是3078915779152
在函数内部10对应的内部地址是3078915779152注:形参的值传递到实参它们的值是相等的,所以地址也是相等的。
变量引用
变量引用代码如下示例↓
a = 10 print("第一次:%d" % a) a = 20 print("第二次:%d" % a) b = 5 a = b print("第三次:%d" % a)
运行结果🖊
第一次:10
解释→定义一个整形变量a,并且赋值为1。
第二次:20解释→将变量a赋值给20。
第三次:5解释→定义一个整形变量b,并且赋值为5,再将b的值赋值给a。
函数的参数和返回值的传递
在python当中函数的实参和返回值都是靠变量的引用来进行传递的,示例代码如下↓
def test(num):passprint("test函数内部当中a变量的值[%d]和数据的地址[%d]" % (num,id(num))) a = 20 # id()查看数据的地址 print("a变量的值[%d]以及变量当中保存数据的地址是[%d]" % (a,id(a))) # 调用test函数 test(a)
运行结果🖊
a变量的值[20]以及变量当中保存数据的地址是[2770576042896]
test函数内部当中a变量的值[20]和数据的地址[2770576042896]