判断字符串内容相等引言在写程序代码的时候, 人们经常会碰到需要去比较两个字符串是不是相等这样的情况。想要判断字符串里面的内容是不是相等的办法是有很多种类的, 在这篇文章里面, 我们会把几种比较常见的方法给介绍出来, 这样的话就可以帮助那些看文章的读者去理解一下关于字符串比较的这个原理以及具体的使用方法都是什么样的一个状态。目录中的字符串比较, 其基础用法包括利用等于运算符来判定两个字符串是不是相等, 采用is运算符来进行字符串相等的判断环节, 以及借助parestr2这个方法来确认字符串是否相等, 另外还有通过正则表达式实现字符串相等的检验功能, 最后是得出相关的结论并回到字符串比较这一基础主题上来。在进行具体字符串比较方式的介绍之前, 我们要先对中字符串的基本概念和一些操作情况进行一个了解, 这样做主要是为了更好的理解后面要讲的那些内容。字符串里的内容是靠一个个字符拼凑起来的,这种内容可以拿单引号包裹住, 也可以拿双引号包裹住以示区分, 比如这样的情况。str1 hellostr2 world字符串是能够被实施拼接这种操作的, 那么通过使用加号这个运算符就能够令两个字符串结合在一起, 将其连缀在一起。str3 str1 str2print(str3) # 输出hello world此外, 咱们还能利用*这个运算符号来让一段字符串重复好多遍呢。str4 str1 * 3print(str4) # 输出hellohellohello其中的字符串是不可变的, 这表示什么? 这就意味着一旦你创建了某个字符串的对象之后, 你是没有办法再去对它进行任何修改的。所以如果你想达到一个把原来的字符串改掉的效果的话, 你必须去做的事情是什么? 那就是去创建出另外一个全新的字符串对象来用。使用运算符判断字符串相等在中间这个位置, 咱们是可以使用那个双等号运算符的, 用来判断两个字符串到底是不是相等的。具体来说呢, 双等号这个玩意儿所做的事情, 就是把这两个字符串各自包含的内容拿出来进行比较, 然后看它们是否相等。打个比方说, 我们把两个字符串命名为str1以及str2, 接着把这个运算符号拿来用作比较:str1 hellostr2 worldif str1 str2:print(字符串相等)else:print(字符串不相等)输出结果为字符串不相等使用is运算符判断字符串相等大家除了会用这个运算符来比较字符串有没有一样, 还可以选择用is运算符。用is运算符的目的就是看两个对象到底是不是同一个东西。比如, 我们来定义两个内容完全一样的字符串, 把他们分别称为str1和str2, 接着使用is运算符对他们进行比较。str1 hellostr2 helloif str1 is str2:print(字符串相等)else:print(字符串不相等)输出结果为字符串相等大家必须得注意到, is这个运算符号它用来判断的是两个对象到底是不是同一个东西, 至于这两个对象里面的具体的内容是否相等, 它是不管的。像字符串这种东西, 它是一种不可改变的对象, 当两个字符串的内容长得一样的时候, 程序解释器有时候会为了让运行更快一点, 优化处理一下, 把这两个一模一样的字符串变成指向同一个内存里的对象, 因此呢, 要是你用is这个运算符号去检测字符串是否相等的话, 得出的结果很可能跟你心里所期望的那个结果完全的不一样, 所以在通常情况下, 我们并不建议大家拿is运算符来干判断字符串是否相等这类的活。使用pare这个名叫str2的方法, 去判断字符串是不是相等的。除了通过使用运算符来比较字符串是否相等之外, 系统里面还提供了一个叫作pare(str2)的方法, 用来对两个字符串之间的大小关系进行比较工作, 从而能够达到判断这两个字符串是不是相等的目的性目标。这个方法在运行结束的时候, 会返回一个整数值出来给大家看一下结果是什么样子的情况内容信息状态数据资料数据信息资料。如果经过判断确认后发现两个字符串其实是完全相等的话, 那么它就返回一个数值为0的结果数据内容信息状态数据资料。如果经分析得出结论认为str1这个字符串的内容大于str2这个字符串的内容数据的话, 那么它就会返还给你一个正整数作为返回值数字信号代码文本数据资料内容信息状态数据。反过来要是说str1这个字符串小于str2那个字符串的话。比如说, 我们有这么一个情况, 就是给两个字符串弄个名字出来叫str1还有str2, 之后呢就去调用pare方法对这个str2进行一个操作, 以此来完成对比:str1 hellostr2 worldresult str1.compare(str2)if result 0:print(字符串相等)elif result 0:print(str1大于str2)else:print(str1小于str2)