python学习—python中的引用本质
python引用概念
python中所有的变量都是在堆中开辟内存,和C++或者java中的引用类似都是指向内存空间。
python引用相关说明
id() 查看变量引用地址,引用地址相同,指向空间一样。
python 对数字和字符串做了缓存机制。
小数字缓存池: -5~256的数字在程序一执行,就会自动加到内存中。
大数字缓存池:文本模式(IDE)才有这个功能。
代码验证
"""
引用
id() 查看变量引用地址,引用地址相同,指向空间一样
python 对数字和字符串做了缓存机制
小数字缓存池: -5~256的数字在程序一执行,就会自动加到内存中。
大数字缓存池:文本模式(IDE)才有这个功能
"""
a = 10
b = 10
print("id(a) = %d,id(b) = %d" % (id(a),id(b))) # 小数字缓存区
a = 1000000
b = 1000000
print("id(a) = %d,id(b) = %d" % (id(a),id(b))) # 大数字缓存区
a = 1000*100
b = 1000000
print("id(a) = %d,id(b) = %d" % (id(a),id(b))) # 没有缓存机制list1 = [1, 2, 3]
list2 = list1 # 指向同一块内存空间,更改list2同样会影响到list1
print("id(list1) = %d,id(list2) = %d" % (id(list1),id(list2)))
list2.append(4)
print("list1:%s list2:%s" %(list1,list2))
list3 = [1, 2, 3] # 指向新的内存空间和list2、list1 指向不一样, 但是 list1、list2、list3里面的1、2、3 都是同一块内存空间
print("id(list3) = %d" % id(list3))
print("id(list3[0]) = %d,id(list2[0]) = %d,id(list1[0]) = %d" % (id(list3[0]),id(list2[0]),id(list1[0])))
验证结果
python学习—python中的引用本质相关推荐
- Python学习---Python安装与基础1205
1.0. 安装 1.1.1. 下载 官网下载地址:https://www.python.org/downloads/release/python-352/ 1.1.2. 配置环境变量 因为在安装的时候 ...
- Python学习 Python基本图形绘制
Python学习 Python基本图形绘制 1.深入理解Python语言 2.Python蟒蛇绘制 3.turtle库的使用 4.代码调用方法分析 5.学以致用 1.深入理解Python语言 计算机技 ...
- Python学习(中一)
4. 深入 Python 流程控制 除了 Python学习(上)介绍的 while 语句,Python 还从其它语言借鉴了一些流程控制功能,并有所改变. 4.1. if 语句 也许最有名的是 if 语 ...
- python类定义中__init__()_转:python学习——类中为什么要定义__init__()方法
学习Python的类,一直不太理解为什么一定要定义init()方法,现在简要谈一下自己的理解吧. 1.不用init()方法定义类 定义一个矩形的类,目的是求周长和面积. 1 classRectangl ...
- python学习004-----python中%s的各种用法
在python输出语句中,我们常用到"%s"符号.%s作用是将对象传到str()方法中进行处理,输出字符串.例如: str = '12345' print("下面输出一串 ...
- Python学习——Python海龟制图中的文字
可以用海龟的write方法显示文字,代码如下: import turtle as tt.setup(600, 400) t.write("人生苦短,我用Python", font= ...
- Python学习-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- Learning Python 学习Python Lynda课程中文字幕
Learning Python 中文字幕 学习Python 中文字幕Learning Python Python–流行且易读性强的面向对象语言 - 既强大又易于学习 无论您是编程新手还是有经验的开发人 ...
- python学习-python学习笔记(一)python简介和基础
1.什么是python? python是一种面向对象的,解释型的计算机语言,它的特点是语法简介,优雅,简单易学.1989年诞生,Guido(龟叔)开发. 编译型语言:代码在编译之后,编译成2进制的文件 ...
最新文章
- oracle home 命令,$ORACLE_HOMEbin目录下所有命令的使用方法及命令详解
- Hyperloop 让发布简洁高效
- 智能调温需要哪些计算机知识,一种智能调温的计算机用鼠标的制作方法
- JavaScript 技术篇-chrome浏览器读取剪切板命令document.execCommand(‘paste‘)返回false原因及解决方法
- 1个不为人知的 Jupyter notebook 使用技巧,今天分享出来。
- 最激动人心的视觉系统其实是最枯燥乏味的
- Oracle中获取文件中的数据,操作oracle中的数据文件
- Jmeter3.1官方自带的HTML图形测试报告 + 汉化
- 如何查看pytorch中层的名字
- 扩展NameValueCollection
- 卸载Microsoft Edge浏览器
- Office2010新体验-基于Office Visio 2010 图表绘制新体验
- 网络爬虫/数据抓取,反爬虫(更新版)
- 基于servlet+jsp 个人博客系统
- 【无标题】阿里滑块 通过 x82y接口、dll、源码 返回x5sec,可解决!
- 基于单片机的温湿度监测系统设计(程序)
- 深度学习-深度学习集群管理方案
- 最新 RibbonCreator 2021 OFFICE功能区编辑器
- 完美支持--WIN11--Crack--LightningChart-10.3.2.2
- (27)uniGUI for C++ builder之杂七杂八小知识
热门文章
- 洛谷 深基 第1部分 语言入门 第7章 函数与结构体
- laravel 提交Request 请求后会莫名多出一个s参数,导致数据库报错问题的解决方法
- 【C#桌面应用】第一节:使用C#开发桌面应用的准备
- ESP32 + ESP-IDF |GPIO 01 - 驱动外部两个LED灯,以每300ms的时间间隔闪烁
- python读awx文件_ansible awx用法
- 网页设计代码_盘点2020年网站设计工具让设计师插上翅膀
- Arduino笔记-使用独立电源给Arduino供电并闪灯
- C++带参数控制台(实例)
- 计算机组成原理个人笔记(二)
- 单继承模式下的JAVA和C++