python基础-引用赋值与按值赋值

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 python基础-引用赋值与按值赋值,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、引用赋值

1、什么是引用赋值?
定义了变量a,并且指向了内存中的一个地址,定义变量b时,将a变量的引用赋给b,两个变量指向了同一个内存地址。
2、引用赋值,如果使用的是可变类型:会被关联修改。
a=[10,20,30]
b=a
print(id(a),id(b)) :2282000256896 ,2282000256896
b.append(40)
print(a) : [10, 20, 30, 40]
在这里插入图片描述

二、按值赋值

先要明白一个道理,字符串的驻留机制:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串的驻留池中,python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址付给新创建的变量。
驻留机制的几种情况(交互模式):
1、字符串的长度为0或者为1时;
在这里插入图片描述
2、字符串长度大于1时,且字符串中只包含大小写字母、数字、下划线时,采用驻留机制。
在这里插入图片描述
3、符合标识符的字符串;
在这里插入图片描述
4、字符串只在编译时进行驻留
b=‘a’+‘bc’在程序运行之间就拼接完成了
c=’’. join([‘ab’,‘c’]),c的结果在程序运行完成之后才会生成,程序运行会在内存中开的新的空间去存储新的值
在这里插入图片描述

5、[-5,256]之间的整数数字
在这里插入图片描述
在这里插入图片描述
什么是按值赋值?
通过赋值变量a,在内存中生成了一个新的地址,a变量的指针指向了这个新的地址。

三、引用赋值与按值赋值的区别

引用赋值:内存地址已经存在了,且赋值给了多个变量。
按值赋值:内存地址是新生成的,且只赋值给了一个变量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123634.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!