每天一点python——day61

#第61天
#字符串的驻留机制
'''
字符串:python中基本数据类型,是一个不可变的序列【目前我们学了两个:元组、字符串】
可以使用单引号,双引号,三引号来定义
'''
#定义字符串
a='python'#用单引号,双引号,三引号来定义字符串python
b="python"
c='''python'''
print(a,id(a))#输出字符串并查看id
print(b,id(b))
print(c,id(c))
'''
你会发现输出内容相同,id(内容地址)也相同
说明a,b,c在内存中只有一份
'''

如图:

'''
字符串驻留机制:
仅仅只保留一份相同且不可变的字符串的方法,不同的值被放在字符串的驻留池中,python的驻留机制对相同的字符串值保留一份。
后续创建相同的字符串时,不会开辟新的空间,而是把该字符串的地址(id)赋给新的变量。
'''

#驻留机制的几种情况(处于交互模式下)
'''
交互模式:交互模式是指人与计算机、设备或系统之间进行实时、双向的信息传递和操作的模式
目前我们本节我们打开方式如下:
键盘按下Windows+R键
然后输入cmd即可
然后输入python,按下Enter键;即可
注【交互模式只能单行注释】因为在交互模式下,每输入一行代码就会立即执行
'''
#如图为交互模式下

为了方便读者复制,我全部复制到了下方这个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.
>>> #驻留情况①字符串的长度为0或者1时
>>> s1=''#建立两个空字符串s1和s2,空字符串长度为0,为s1和s2
>>> s2=''
>>> s1 is s2
True
>>>  #输出s1 is s2发现输出为True,说明他们的地址内存是相同的,这是字符串长度为0的情况
>>> s3='%'#创立两个字符串长度为1的两个字符串s3和s4
>>> s4='%'
>>> s3 is s4#查看内存地址
True
>>>  #发现内存地址还是相同,所以第①中情况成立
>>> #注:每次写完一行按下enter键即可输出,注释不输出
>>>  #驻留情况②符合标识符的字符串
>>>  #含有字母、数字、下划线的字符串称为符合标识符的字符串
>>> s5='abc%'#创立两个字符串
>>> s6='abc%'
>>> s5==s6
True
>>> #s5==s6比较的是他们的内容你会发现内容相同
>>> s5 is s6#比较他们的地址是否一样
False
>>> #发现地址不一样,说明开的是两块空间
>>> #然后我们查看id
>>> id(s5)
1454021673008
>>> id(s6)
1454021673072
>>> #发现地址不相同,所以s5和s6内容相同,地址不同
>>> #如图三
>>> #现在我们来使用标识符的字符串
>>> s7='abcx'
>>> s8='abcx'
>>> s7 is s8
True
>>> #会发现产生了驻留,然后我们查地址
>>> id(s7)
1454021673968
>>> id(s8)
1454021673968
>>> #地址相同

 为什么abc%不同

'''在编程中,标识符是用来命名变量、函数、类、模块等程序实体的名称。标识符可以包含字母、数字和下划线,并且必须遵循以下规则:

标识符由字母(a-z、A-Z)、数字(0-9)和下划线(_)组成。
标识符不能以数字开头,但可以在首字符后使用数字。
标识符区分大小写,例如count和Count是不同的标识符。
标识符不能与Python的保留关键字(如if、for、while等)重复。
标识符应具有描述性和易于理解的命名,以增加代码的可读性。
本节
abc%不是合法的标识符,因为它违反了Python标识符的命名规则。具体来说:

标识符只能由字母、数字和下划线组成,而%不是这些字符之一,因此它不能作为标识符的一部分。
标识符必须以字母或下划线开头,而%既不是字母也不是下划线,因此它不能用作标识符的开头。'''

 至于为什么这么多天没有更新,是因为我这几个月发生了一些事。导致我的生活变得一团糟,我目前正在努力恢复中,可能后续会更新有点快,如果觉得学得多了,可以两天学一节或者三天。

借此还提醒大家,我不顺其中一个主要原因是被诈骗了。

被骗金额达到了1500,希望看到这篇文章的人,远离网上高收入广告,谨防诈骗,让你赚钱的一律拉黑,不管你多么想赚钱。都要知道天下没有免费的午餐,以及打着为你好的,让你赚大钱幌子。

希望大家守护好自己的钱包

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis原理到常用语法基础图文讲解

在初期,已经讲述了Redis安装问题。现在正式进入Redis的入门阶段 系统架构的演进 传统单机架构 一台机器运行应用程序、数据库服务器 现在大部分公司的产品都是这种单机架构。因为现在计算机硬件发展速度很快,哪怕只有一台主机,性能也很高…

智慧城市排水系统,管网水位监测仪怎么监测

地下排水管网应用于城市的多个环境之中,比如排放雨水,污水或者是地表水等,总之是在维护城市的安全运行,并且保护城市地下生命线处于正常状态。但是一旦排水系统面对各种极端天气,便有可能会突发安全事故,导…

如何再kali中下载iwebsec靶场

这个靶场有三种搭建方法: 第一种是在线靶场:http://www.iwebsec.com:81/ 第二种是虚拟机版本的,直接下载到本地搭建 官网地址下载:http://www.iwebsec.com/ 而第三种就是利用docker搭建这个靶场,我这里是用kali进行…

部署kubevirt教程

前提条件 已安装:kubernetes集群、kubectl、docker apt install -y qemu-kvm libvirt virt-install bridge-utils 【所有节点全部安装】 virt-host-validate qemu部署kubevirt 下载kubevirt-cr.yaml和kubevirt-operator.yaml 先执行: Kubectl apply …

网络安全(黑客)-0基础小白自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

Go Gin中间件

Gin是一个用Go语言编写的Web框架,它提供了一种简单的方式来创建HTTP路由和处理HTTP请求。中间件是Gin框架中的一个重要概念,它可以用来处理HTTP请求和响应,或者在处理请求之前和之后执行一些操作。 以下是关于Gin中间件开发的一些基本信息&am…

数据库系统原理与实践 笔记 #7

文章目录 数据库系统原理与实践 笔记 #7数据库设计和E-R模型(续)转换为关系模式具有简单属性的实体集的表示复合属性多值属性联系集的表示模式的冗余—合并 实体-联系设计问题设计问题联系属性的布局 扩展的E-R特性特化概化属性继承特化/概化的设计约束聚集E-R图表示方法总结E-…

聚会娱乐喝酒游戏小程序源码系统 可开流量主 带完整的搭建教程

今天罗峰来给大家分享一款聚会娱乐喝酒游戏小程序源码系统 。在聚会娱乐活动中,喝酒游戏是一种非常受欢迎的活动方式。但是,往往由于缺乏有效的组织和规则,导致游戏的进行不够顺畅,甚至出现混乱的情况。因此,开发一款能…

Java-Hbase介绍

1.1. 概念 base 是分布式、面向列的开源数据库(其实准确的说是面向列族)。HDFS 为 Hbase 提供可靠的 底层数据存储服务,MapReduce 为 Hbase 提供高性能的计算能力,Zookeeper 为 Hbase 提供 稳定服务和 Failover 机制&#xff0c…

云计算实战项目之---学之思在线考试系统

简介: 学之思开源考试系统是一款 java vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序,能覆盖到pc机和手机等设备。 支持多种部署方式:集成部署、前后端分离部署、docker部…

一文深入了解 CPU 的型号、代际架构与微架构

在 10 月 16 号的时候,Intel 正式发布了第 14 代的酷睿处理器。但还有很多同学看不懂这种发布会上发布的各种 CPU 参数。借着这个时机,给大家深入地讲讲 CPU 的型号规则、代际架构与微架构方面的知识。 CPU 在整个计算机硬件中、技术体系中都算是最最重…

Wpf 使用 Prism 实战开发Day04

一.菜单导航实现 1.首先创建出所有的页面(View)及对应的页面逻辑处理类(ViewModel) IndexView(首页)-----------------IndexViewModelToDoView(待办事项)------------ToDoViewModelMemoView(忘备录)--------------MemoViewModelSettingsView(设置)--------------SettingsViewMo…

防逆流系统中防逆流电表的正确安装位置-安科瑞黄安南

随着光伏行业的发展,部分地区村级变压器及工业用电变压器容量与光伏项目的装机容量处于饱和。电网公司要求对后建的光伏并网系统为不可逆流发电系统,指光伏并网系统所发生的电由本地负载消耗,多余的电不允许通过低压配电变压器向上级电网逆向…

【漏洞复现】Apache_HTTP_2.4.50_路径穿越漏洞(CVE-2021-42013)

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证方式一 curl方式二 bp抓捕 1.5、修复建议 说明内容漏洞编号CVE-2021-42013漏洞名称…

【GEE】6、在 Google 地球引擎中构建各种遥感指数

1简介 在本模块中,我们将讨论以下概念: 如何在 GEE 中重命名图像的波段。如何使用已有的遥感指数。如何使用波段数学生成自己的遥感指数。 一个田地已经灌溉的年数的卫星图像。灌溉水最可能的来源是奥加拉拉含水层。图片来自科罗拉多州霍利奥克附近。资料…

设计模式之迭代器模式

什么是迭代器模式 迭代器模式(Iterator pattern)是一种对象行为型设计模式,它提供了一种方法来顺序访问聚合对象中的元素,而又不暴露该对象的内部表示,同时也可以将迭代逻辑与聚合对象的实现分离,增强了代码…

信驰达RF-DG-52PAS CC2652P Zigbee 3.0 USB Dongle烧录指南

一、使用前准备 RF-DG-52PAS是信驰达科技基于美国 TI CC2652P和CP2102为核心设计的Zigbee 3.0 USB Dongle,可烧录 Z-Stack 3.x.0协调器固件,可以直接连接到计算机或树莓派,通过ZHA或 Zigbee2MQTT连接到 Home Assistant或其他开源物联网平台。还可以烧录…

uniapp小程序刮刮乐抽奖

使用canvas画布画出刮刮乐要被刮的图片&#xff0c;使用移动清除画布。 当前代码封装为刮刮乐的组件&#xff1b; vue代码&#xff1a; <template><view class"page" v-if"merchantInfo.cdn_static"><image class"bg" :src&q…

ElasticSearch与Lucene是什么关系?Lucene又是什么?

一. ElasticSearch 与 Lucene 的关系 Elasticsearch&#xff08;ES&#xff09;和Apache Lucene之间有密切的关系&#xff0c;可以总结如下&#xff1a; Elasticsearch构建于Lucene之上&#xff1a;Elasticsearch实际上是一个分布式的、实时的搜索和分析引擎&#xff0c;它构建…

成员变量为动态数据时不可轻易使用

问题描述 业务验收阶段&#xff0c;遇到了一个由于成员变量导致的线程问题 有一个kafka切面&#xff0c;用来处理某些功能在调用前后的发送消息&#xff0c;资产类型type是成员变量定义&#xff1b; 资产1类型推送消息是以zichan1为节点&#xff1b;资产2类型推送消息是以zi…