首先说两个运算符:

" == " 运算符测试值的等价性,递归地比较所有内嵌对象

" is " 表达式测试对象的同一性,测试两者是否为同一对象(是否为同一地址)

Python内部会对临时存储并重复使用的段字符串做优化,在PyCharm中优化的很好

下边是在PyCharm中运行的

s1 = 'hello'
s2 = 'hello'
print(s1 is s2) s1 = 'hello world'
s2 = 'hello world'
print(s1 is s2) s1 = 'h e l l o'
s2 = 'h e l l o'
print(s1 is s2) s1 = 'a longer string'
s2 = 'a longer string'
print(s1 is s2) s1 = 'hello world good morning'
s2 = 'hello world good morning'
print(s1 is s2)

  

True
True
True
True
True

  

下边是在Python交互器中运行的现象。

>>> s1 = "spam"
>>> s2 = "spam"
>>> s1 is s2
True
>>> s1 = "sp am"
>>> s2 = "sp am"
>>> s1 is s2
False
>>> s1 = ' '
>>> s2 = ' '
>>> s1 is s2
True
>>> s1 = ' '
>>> s2 = ' '
>>> s1 is s2
False
>>> s1 = 'kkkkkkkkkkkkkkkkkkkkk'
>>> s2 = 'kkkkkkkkkkkkkkkkkkkkk'
>>> s1 is s2
True
>>> s1 = '\t\t'
>>> s2 = '\t\t'
>>> s1 is s2
False
>>> s1 = '\n'
>>> s2 = '\n'
>>> s1 is s2
True

没试验太多数据,老哥们要是有新的发现也可以跟我说

Python中字符串二三事的更多相关文章

  1. python中字符串的操作方法

    python中字符串的操作方法大全 更新时间:2018年06月03日 10:08:51 作者:骏马金龙 我要评论这篇文章主要给大家介绍了关于python中字符串操作方法的相关资料,文中通过示例代码详细 ...

  2. Python中字符串String的基本内置函数与过滤字符模块函数的基本用法

    Python中字符串String的基本内置函数与用法 首先我们要明白在python中当字符编码为:UTF-8时,中文在字符串中的占位为3个字节,其余字符为一个字节 下面就直接介绍几种python中字符 ...

  3. Python中字符串的学习

    Python中字符串的学习 一.字符串的格式化输出 % 占位符 %s 字符串 %d integer %x 十六进制 integer %f float 指定长度 %5d 右对齐,不足左边补空格 %-5d ...

  4. Python中字符串使用单引号、双引号标识和三引号标识,什么是三引号?什么情况下用哪种标识?

    一.三引号是指三个单引号或者三个双引号: 二.Python中字符串如果以单引号.双引号标识和三引号标识开头,则字符串结尾也必须是对应的标识,不能变更: 三.三者的异同: 1.三者都是字符串,大部分情况 ...

  5. python中字符串的几种表达方式(用什么方式表示字符串)

    说明: 今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 ...

  6. 一些Python中的二维数组的操作方法

    一些Python中的二维数组的操作方法 这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下 需要在程序中使用二维数组,网上找到一种这样的用 ...

  7. Python中字符串与字节之间相互转换

    Python中字符串与字节之间相互转换 ​ a = b"Hello, world!" # bytes object b = "Hello, world!" # ...

  8. python中字符串的四种表达方式

    今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 > ...

  9. 超详细!盘点Python中字符串的常用操作

    在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...

随机推荐

  1. Redis的常见用法

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  2. js数组中随机选取一个数值!!

    var arr = ["太阳光大","成功是优点的发挥","不要小看自己", "口说好话","手心向下是助人& ...

  3. 【zabbix教程系列】五、邮件报警设置(脚本方式)

    本方式是使用外部邮箱账号发送报警邮件到指定邮箱. 好处是:此邮箱账号既能发送邮件,也能接收邮件,而且避免被当做垃圾邮件. 一.zabbix-server端安装mailx服务 [root@ltt01 ~ ...

  4. 【JMeter】(1)---入门

    JMeter入门 https://www.cnblogs.com/qdhxhz/p/9222105.html 一.概述 JMeter是Apache下一款在国外非常流行和受欢迎的开源性能测试工具,JMe ...

  5. vultr测速 看看vultr哪个地区节点速度快

    很多网友用vultr的机子主要就是为了*** 所以对哪个区域节点的速度就非常在意 网上都说这个区域节点速度快,那个区域节点的速度快. 还是得自己亲自测试才知道哪个区域的速度快! 所以做了个ping本机 ...

  6. css的寬高約束

    https://blog.csdn.net/qq_26780317/article/details/80736514

  7. PL2303HX在Windows 10下面不装安装驱动的解决办法(Code:10)

    Prolific在很早之前推出了一款名为PL2303HX的芯片, 用于USB转RS232, 这款芯片使用的范围非常广, 并且年代久远. 但是这款芯片因为用的特别多, 所以中国就有很多厂家生产了仿造的P ...

  8. CF 543C Remembering Strings

    https://cn.vjudge.net/problem/CodeForces-543C 题目 You have multiset of n strings of the same length, ...

  9. Go中的iota

    当时在学习Iota这个知识点的时候仅仅是一笔掠过,比如这种 const( a=iota b c ) 一眼看出他怎么使用的时候就觉得自己已经懂得了 再到后来看到这样的例子 const( a = 5*io ...

  10. django rest framework authentication

    身份验证 身份验证是将传入请求与一组识别凭证(例如请求的用户或其签名的令牌)相关联的机制.然后,权限和限制策略可以使用这些凭据来确定请求是否应该被允许. REST framework 提供了许多开箱即 ...