(一)Python入门-2编程基本概念:18字符串-驻留机制-内存分析-字符串同一判断-值相等判断

一:字符串驻留

  仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。

  Python 支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母 和数字)会启用字符串驻留机制驻留机制。

二:字符串比较和同一性

  我们可以直接使用==,!=对字符串进行比较,是否含有相同的字符。

  我们使用is / not is,判断两个对象是否为同一个对象。比较的是对象的地址,即 id(obj1)是 否和 id(obj2)相等。

三:成员操作符

  in /not in 关键字,判断某个字符(子字符串)是否存在于字符串中。

  【操作】

 1 >>> a = "abc_33"
 2
 3 >>> b = "abc_33"
 4
 5 >>> a is b
 6
 7 True
 8 >>> id(a)
 9
10 1983361605792
11 >>> id(b)
12
13 1983361605792
14 >>> a == b
15
16 True
17 >>> c = "dd#"
18
19 >>> d = "dd#"
20
21 >>> c is d
22
23 False
24 >>> id(c)
25
26 1983361606072
27 >>> id(d)
28
29 1983361605848
30 >>> c == d
31
32 True
33 >>> a = "abcdefg"
34
35 >>> "b" in a
36
37 True
38 >>> "bcd" in a
39
40 True
41 >>> "ddd" in a
42
43 False
44 >>> "ddd" not in a
45
46 True

原文地址:https://www.cnblogs.com/jack-zh/p/10812346.html

时间: 2024-10-10 08:33:52

(一)Python入门-2编程基本概念:18字符串-驻留机制-内存分析-字符串同一判断-值相等判断的相关文章

(一)Python入门-2编程基本概念:15字符串-str()-使用[]提取字符串-replace()替换生成新字符串-内存分析

一:str()实现数字转型字符串 str()可以帮助我们将其他数据类型转换为字符串.例如: str(5.20) ==> ‘5.20’ str(3.14e2)==>’314.0’ str(True) ==> ‘True’ 1 >>> int('23.34') 2 3 Traceback (most recent call last): 4 File "<pyshell#35>", line 1, in <module> 5 in

(一)Python入门-2编程基本概念:13字符串-Unicode字符集-三种创建字符串的方式-len()

一:字符串基本特点 很多人初学编程时,总是担心自己数学不行,潜意识里认为数学好才能编程.实际上, 大多数程序员打交道最多的是“字符串”而不是“数字”.因为,编程是用来解决现实问题 的,因此逻辑思维的重要性远远超过数学能力. 字符串的本质是:字符序列.Python的字符串是不可变的,我们无法对原字符串做任何修改.但,可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果. Python不支持单字符类型,单字符也是作为一个字符串使用的.Python中字符串是基本数据类型. 二:字符串的编

(一)Python入门-2编程基本概念:10时间表示-unix时间点-毫秒和微妙-time模块

一:时间表示 计算机中时间的表示是从“1970 年 1月 1日 00:00:00”开始,以毫秒(1/1000 秒) 进行计算.我们也把1970 年这个时刻成为“unix 时间点”. 这样,我们就把时间全部用数字来表示了.时间本质上就是数字 python中可以通过 time.time() 获得当前时刻,返回的值是以秒为单位,带微秒 (1/1000 毫秒)精度的浮点值.例如:1530167364.8566. [操作] 1 >>> import time 2 >>> b =

(一)Python入门-2编程基本概念:12同一运算符-整数缓存问题

一:同一运算符 同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址. 运算符 描述 is  is是判断两个标识符是不是引用同一个对象 is not  is not 是判断两个标识符是不是引用不同对象 is 与 == 区别: is 用于判断两个变量引用对象是否为同一个,既比较对象的地址. == 用于判断两个变量引用对象的值是否相等,默认调用对象的 __eq__()方法. 二:整数缓存问题 Python仅仅对比较小的整数对象进行缓存(范围为[-5, 256])缓存起来,而并非是所有整数对象

(一)Python入门-2编程基本概念:07内置数据类型-基本算数运算符

一:Python内置数据类型 每个对象都有类型,python中最基本的内置数据类型: 1. 整型:整数,2345,10,50 2. 浮点型:小数,3.14 或者科学计数法 314e-2 3. 布尔型:表示真假,仅包含:True.False 4. 字符串型:由字符组成的序列. “abc”,”speed”,“我爱你” 二:数字和基本运算符 Python 支持整数(如:50,520)和浮点数(如:3.14,10.0, 1.23e2),我们可以对数字做如下 运算. 运算符 说明 示例 结果 + 加法 3

(一)Python入门-2编程基本概念:08整数-不同进制-其他类型转换成整数

一:整数-不同进制 Python中,除10 进制,还有其他三种进制: ·0b或0B,二进制 0 1 ·0o 或0O,八进制 0 1 2 3 4 5 6 7 ·0x或 0X,十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f 这三种进制可以非常方便的进行“位运算”操作.位运算知识后面介绍. [操作]测试不同进制 1 >>> 12 2 12 3 >>> 0b101 4 5 5 >>> 0o19 6 SyntaxError: inval

(一)Python入门-2编程基本概念:16字符串-切片slice操作-逆序

一:字符串切片slice操作 切片 slice 操作可以让我们快速的提取子字符串.标准格式为: [起始偏移量start:终止偏移量end:步长 step] 典型操作(三个量为正数的情况)如下: 操作和说明 示例 结果 [:] 提取整个字符串 “abcdef”[:] “abcdef” [start:]从start 索引开始到结尾 “abcdef”[2:] “cdef” [:end]从头开始直到end-1 “abcdef”[:2] “ab” [start:end]从start 到 end-1  “a

(一)Python入门-2编程基本概念:14字符串-转义字符-字符串拼接-字符串复制-input()获得键盘输入

一:转义字符 我们可以使用“\+特殊字符”,实现某些难以用字符表示的效果.比如:换行等.常见的 转义字符有这些: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \b 退格(Backspace) \n 换行 \t 横向制表符 \r 回车 [操作]测试转义字符的使用 1 >>> a = 'i\nlove\nu' 2 >>> a 3 'i\nlove\nu' 4 >>> print(a) 5 i 6 love

(一)Python入门-2编程基本概念:01程序的构成

一:Python程序的构成 Python程序由模块组成.一个模块对应 一个python源文件,一般后缀名是:.py. 模块由语句组成.运行 Python 程序时,按照模块中语句的顺序依次执行. 语句是Python程序的构造单元,用于创建对象.变量赋值.调用函数.控制语句等. 二:Python文件的创建和执行 之前使用的交互式环境,每次只能执行一条语句:为了编写多条语句实现复杂的逻辑, 可以通过创建 Python 文件,并执行该文件. 在 IDLE 环境中,可以通过 File-->new 创建 P