【20天搞定Python】第6天:Python字符串

字符串的意思就是“一串字符”,比如"Hello world"是一个字符串,"How are you?"也是一个字符串。

Python 要求字符串必须使用引号括起来,使用单引号也行,使用双引号也行,只要两边的引号能配对即可。

字符串引号里面的的每个基本单元叫做字符,比如字符串"abc"中,"a"、"b"和"c"就是字符串组成的基本单元,它们都是字符。

如下定义的变量,存储的是字符串类型的值

a = "I'm Bob"  # 一对双引号
b = 'I am Bob'  # 一对单引号
c = 'He said:I\'m Bob'  # 转义字符
d = '''I'm Bob'''  # 三个单引号
e = """I'm Bob """  # 三个双引号

小总结:

  • 双引号或者单引号中的数据,就是字符串
  • 如果使用一对引号来定义字符串,当出现符号冲突时可以使用转义字符,比如变量c
  • 使用三个单引号或者三个双引号定义的字符串可以包裹任意文本

字符串的运算

Python为字符串类型提供了非常丰富的运算符,我们可以使用+运算符来实现字符串的拼接,可以使用*运算符来重复一个字符串的内容,可以使用in和not in来判断一个字符串是否包含另外一个字符串,我们也可以用[]和[:]运算符从字符串取出某个字符或某些字符。

拼接和重复

下面的例子演示了使用   + 和  * 运算符来实现字符串的拼接和重复操作。

s1 = 'hello' + ' ' + 'world'
print(s1)    # 结果:hello world
s2 = '!' * 3
print(s2)    # 结果:!!!
s1 += s2     # s1 = s1 + s2
print(s1)    # 结果:hello world!!!
s1 *= 2      # s1 = s1 * 2
print(s1)    # 结果:hello world!!!hello world!!!

用  * 实现字符串的重复是非常有意思的一个运算符,在很多编程语言中,要表示一个有10个 a 的字符串,你只能写成"aaaaaaaaaa",但是在Python中,你可以写成'a' * 10。你可能觉得"aaaaaaaaaa"这种写法也没有什么不方便的,那么想一想,如果字符   a 要重复100次或者1000次又会如何呢?

比较运算

对于两个字符串类型的变量,可以直接使用比较运算符比较两个字符串的相等性或大小。

需要说明的是,因为字符串在计算机内存中也是以二进制形式存在的,那么字符串的比较其实比的是:每个字符对应的编码的大小。

例如A的编码是65, 而a的编码是97,所以'A' < 'a'的结果相当于就是65 < 97的结果,很显然是True;

而'boy' < 'bad',因为第一个字符都是'b'比不出大小,所以实际比较的是第二个字符的大小,显然'o' < 'a'的结果是False,所以'boy' < 'bad'的结果也是False。

如果不清楚两个字符对应的编码到底是多少,可以使用ord函数来获得,例如ord('A')的值是65,而ord('赵')的值是36213。

下面的代码为大家展示了字符串的比较运算。

s1 = 'a w
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员日常

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值