每天一点python——day62

news2024/11/17 15:55:11

为了方便复制,我在下面附带了一个python文件。


C:\Users\Admin>python
Python 3.9.13 (main, Aug 25 2022, 23:51:50) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation

Type "help", "copyright", "credits" or "license" for more information.
>>> #驻留情况③字符串只在编译时进行驻留,而非运行时
>>> #因为python是一个解释型的语言,实际上他的解释器也可以理解成一种编译器,它负责将python代码编译成字节码,也就是我们说的‘.pyc’文件
>>> #下面我们来进行演示
>>> a='abc'
>>> b='ab'+'c'
>>> c=''.join(['ab','c'])
>>> a is b
True
>>> #发现地址是相同的
>>> a is c
False
>>> #发现地址是不相同的
>>> #现在我们来看看c的内容,下面打印c
>>> c
'abc'
>>> #然后查看c的类型
>>> type(c)
<class 'str'>
>>> #发现c的内容为‘abc’,c的类型为str,那我们再看看a的
>>> a
'abc'
>>> type(a)
<class 'str'>
>>> #会发现是一样的,但是为什么没有产生驻留呢?
>>> #因为b的值是在运行之前就连接完毕了
>>> #c是程序运行的时候通过join方法对列表当中的数据进行连接的,也就是说join操作是在程序运行的时候,程序运行时当然会开辟新的空间存储abc的值,所以c不支持驻留
>>> #驻留情况④从-5到256【-5和256也包括在内】之间的整数数字也是驻留的
>>> #例
>>> f1=-5
>>> f2=-5
>>> f1 is f2
True
>>> s1=-6
>>> s2=-6
>>> f1 is f2
True
>>> s1 is s2
False
>>> #因为-6不在[-5,256]之间,所以不驻留
>>> #python提供了一个sys的类,强制两个相同的字符串指向同一个对象,节约空间,示例如下:
>>> import sys#先导入类
>>> g1='abc%'
>>> g2='abc%'
>>> g1 is g2
False
>>> #内容相同,但是不驻留,下面强制驻留
>>> g1=sys.intern(g2)
>>> g1 is g2
True
>>> #强制驻留了
>>> #为什么我们这两天的驻留不用pycharm展示呢,因为pycharm对字符串进行了优化处理,导致原本不驻留的驻留了

 pycharm里面如图所示

s1='abc%'
s2='abc%'
print(s1 is s2)#结果发现驻留了
为什么我们要有驻留机制呢?有什么好处

我们拼接和修改字符串都会产生新的字符串对象所以:

 这两天学了驻留机制,总结一下:

'''
驻留机制的几种情况{在交互模式下}
①字符串的长度为0或者1时。
②符合标识符的字符串。
③字符串只在编译时进行驻留,而非运行时。
④[-5,256]之间的整数数字
'''

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1180923.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【蓝桥杯选拔赛真题13】C++最短距离 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析

C/C++最短距离 第十二届青少组蓝桥杯C++选拔赛真题 一、题目要求 1、编程实现 有一个居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为 1,2,3……,当排满一行时,从下一行相邻的楼往反方向排号。 例如:小区为 3 行 6 列,矩阵排列方式: 要求:已知小区…

python 之列表的常用方法

文章目录 1. **append()** 方法2. **extend()** 方法3. **insert()** 方法4. **pop()** 方法5. **remove()** 方法6. **clear()** 方法7. **index()** 方法8. **count()** 方法9. **reverse()** 方法10. **sort()** 方法 当操作 Python 列表时&#xff0c;常用的方法如下。以下…

Python学习笔记--模块简介

一、Python 模块简介 在开发过程中&#xff0c;随着程序代码越写越多&#xff0c;在一个文件里代码就会越来越长&#xff0c;越来越不容易维护。 后面我们学习了函数&#xff0c;知道函数是实现一项或多项功能的一段程序&#xff0c;这样就更方便我们重复使用代码。 紧接着&…

解析半导体测试系统及半导体的测试方法步骤

半导体如今在集成电路、通信系统、照明等领域被广泛应用&#xff0c;是一种非常重要的材料。在半导体行业中&#xff0c;半导体测试是特别关键的环节&#xff0c;以保证半导体器件及产品符合规定和设计要求&#xff0c;确保其质量和性能。 随着现代电子技术的发展&#xff0c;半…

移远EC600U-CN开发板 day02

1.QuecPythonLVGL显示图片 由于官方提供的显示图片函数使用失败&#xff0c;为了能在屏幕上显示图片&#xff0c;通过对出厂脚本的分析&#xff0c;成功使用LVGL显示图片 (1)代码 import lvgl as lv from tp import gt9xx from machine import LCD from machine import Pin …

别让噪声偷走你的听力

欢声笑语&#xff0c;音乐悠扬&#xff0c;燕语莺声&#xff0c;流水潺潺&#xff0c;和亲友畅所欲言…… 这些愉悦的声音让我们每天的生活更充实&#xff0c;他们也是美好记忆的重要组成部分。听力对于我们的身体健康、情感幸福和整体生活质量起着巨大的作用。 因此保护听力健…

华为fusionInsigtht集群es连接工具

华为fusionInsight为用户提供海量数据的管理及分析功能&#xff0c;快速从结构化和非结构化的海量数据中挖掘您所需要的价值数据。开源组件结构复杂&#xff0c;安装、配置、管理过程费时费力&#xff0c;使用华为FusionInsight Manager将为您提供企业级的集群的统一管理平台,在…

大数据管理平台有什么用?如何利用大数据管理平台优化企业运营?

在数字化时代&#xff0c;大数据管理平台已经成为了企业和组织不可或缺的工具。它不仅可以帮助企业跟踪和解决报修问题&#xff0c;还为数据分析提供了丰富的信息。通过合理利用大数据管理平台进行数据分析&#xff0c;企业可以更好地了解其运营情况&#xff0c;优化设备维修和…

攻防世界题目练习——Web引导模式(四)(持续更新)

题目目录 1. shrine2. very_easy_sql 1. shrine 打开网页题目内容如下&#xff1a; 是一段代码&#xff0c;我们把它还原一下&#xff1a; import flask import osapp flask.Flask(__name__) app.config[FLAG] os.environ.pop(FLAG) #这里应该是将config配置里的FLAG字段设…

Time series analysis of InSAR data: Methods and trends(NASA,2015)

文章目录 ISPRS J PHOTOGRAMMIntroductionPhase unwrapping相位解缠算法综述 Time series analysis of InSAR dataPersistent Scatterer Interferometry (PSI)--持久散射体☆☆☆☆PSInSAR && SBAS-InSAR☆☆☆☆PS-InSARSBAS-InSARDS-InSAR&#xff08;分布式散射体干…

金秋云创季——ECS爆品省钱攻略

阿里云双十一推出优惠活动——“金秋云创季”&#xff0c;其中&#xff0c;云服务ECS下的经济型e实例&#xff0c;低至99元/1年&#xff0c;新老用户都可购买&#xff0c;续费不涨价&#xff1b;轻量应用服务器&#xff0c;2核2G 低至87元1年……官方满减优惠享受折上折。惊喜不…

微服务架构——笔记(4)

微服务架构——笔记&#xff08;4&#xff09; 基于分布式的微服务架构 本次笔记为 此次项目的记录&#xff0c;便于整理思路&#xff0c;仅供参考&#xff0c;笔者也将会让程序更加完善 内容包括&#xff1a;8001集群构建&#xff0c;负载均衡&#xff0c;服务发现&#xff0…

day51

前端框架Booststrap 该框架已经帮我们写了很多页面样式&#xff0c;如果需要使用&#xff0c;只需要下载对应文件直接cv即可 在使用Booststrap的时候&#xff0c;所有发页面样式只需要通过修改class属性来调节即可 什么是Booststrap Bootstrap是一个开源的前端框架&#xff…

基于junit4搭建自定义的接口自动化测试框架

随着业务的逐步稳定&#xff0c;对于接口的改动也会逐渐变少。更多的是对业务逻辑的优化&#xff0c;功能实现的完善。对于测试来说&#xff0c;重复繁琐的功能测试不仅效率低下&#xff0c;而且耗费一定的人力资源。笔者支持的信息流业务下的一个图文管理平台就是一个功能较为…

Elasticsearch:ES|QL 的限制

尽管 ES|QL 带来性能及使用上的便捷&#xff0c;在实际的使用中&#xff0c;它还是有一些限制。在今天的文章中&#xff0c;我们来列举它的一些限制。 结果集大小限制 默认情况下&#xff0c;ES|QL 查询最多返回 500 行。 你可以使用 LIMIT 命令将行数增加到最多 10,000 行。 …

SDH设备

文章目录 实际的SDH设备结构&#xff1a;OSN3500

Archicad 26 (BIM建模软件)

Archicad 26是一款建筑信息模型&#xff08;BIM&#xff09;软件&#xff0c;由Graphisoft公司开发。它提供了全面的设计和建模工具&#xff0c;用于创建3D建筑模型、制作施工图纸等。 Archicad 26支持多种文件格式&#xff0c;并且可以与其他CAD软件进行互操作。它具有强大的建…

关于mysql自增列起始值与数据实际id不一致的问题

从一个数据表生成表结构和数据的脚本之后。把脚本复制到另一个数据库执行同步数据结构和数据。 Navicat 发生了如下异常提示&#xff0c;并中断了脚本执行&#xff1a; Duplicate entry 51110 for key sys_log.PRIMARY 然后检查sys_log表的建表脚本&#xff0c;发现有如下行&…

期中考试后,老师用它发成绩

期中考试过后&#xff0c;对于老师们来说&#xff0c;最烦的就是学生家长一直不停的咨询成绩。然而&#xff0c;一群班群直接公布成绩不仅耗时&#xff0c;还不合规。那么&#xff0c;如何用代码和Excel实现让学生自助查询成绩呢&#xff1f;下面&#xff0c;我将向各位老师介绍…

[C/C++]数据结构 链表OJ题:移除链表元素

题目描述: 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 方法一: 从头开始遍历链表,当遇到相同元素则跳过该元素,指向下一节点 struct ListNode* removeElements(struct ListNode* head…