所谓字符串,就是由零个或多个字符组成的有限序列,在Python中字符串的定义有许多种方式,可以用双引号,单引号也可以使用三引号。
s1 = 'Hello, World!' s2 = "Hello, World!" # 以三个双引号或单引号开头的字符串可以换行 s3 = """ Hello, World! """类似于其他语言,Python中可以使用转义字符,用\来表示转义,也可以说在\之后的字符不在是原来的含义,而代表着特殊的含义,常用的有:
转义字符描述\(在行尾时)续行符\\反斜杠符号\’单引号\"双引号\a响铃\b退格(Backspace)\n换行\t横向制表符\r回车\f换页在\后面我们还可以使用八进制或者十六进制的数来表示字符,比如说\x61和\141都表示小写的字母a,前者的表示方式为八进制,后者是十六进制的表示方法。我们也可以在\后面使用Unicode字符编码来表示字符,但是一般而言,我们常常还是使用字符本身来表示,除了某些字符没有对应的表示方法。
另外,如果我们不希望\表示的是转义,那么我们可以在字符串的前面加上字母 r 来使得字符是原文本,比如下面的文本:
s1 = r'\'Hello, world!\'' s2 = r'\n\\hello, world!\\\n' print(s1, s2, end='')读者可以自己通过上机来获得正确的答案,在这里不再提供答案。
我们可以采用索引的方式来获取字符串中特定位置的字符, 使用方式为 string[index], 在Python中第一个字符所对应的 index 为 0, 而不是 1 , 另外我们还可以使用 string[start:end] 来获取字符串 index 从 start 到 end 之间的字符, 但是不包含 end对应的字符, Python中也支持负数的索引值,其中最后一个元素对应的为 -1, 如果start或者 end其中有一个为空,start为空时,默认从第一个元素到end(但不包括), end为空时,从start到最后一个元素
str = "Hello World" print(str[0]) # 第一个元素 print(str[1:4]) # ell print(str[-1]) # d print(str[-3:-1]) # rl print(str[:3]) # hel 使用for进行遍历我们可以利用循环来实现字符串中的遍历,如
string = 'Hello World' index = 0 while index < len(string): print(string[index]) index += 1但是同时我们可以使用 for来简单的实现
str = "Hello" for i in str: print(i, end='\t') # H e l l o 使用成员操作符in使用in函数,我们可以轻易的知道一个字符串是否在字符串中
str = "Hello World" flag_1 = 'He' in str # True flag_2 = 'You' in str # False 使用运算符我们可以有比较符号来比较两个字符串的大小,比较是根据字符串中的每一个元素来的,一个一个元素进行比较,比较的参考为字符的ASCII码
print('a'>'A') # True print('hello' > 'world') # True print('a' == 'b') # False我们还可以使用+ 对字符进行拼接
str1 = "hello " str2 = 'world' print(str1+str2) # hello world另外我们还可以使用 * 对字符进行重复
str = 'Hello' print(str*3) # 'HelloHelloHello' 其他的方法: str1 = 'hello, world!' # 通过内置函数len计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的拷贝 print(str1.capitalize()) # Hello, world! # 获得字符串每个单词首字母大写的拷贝 print(str1.title()) # Hello, World! # 获得字符串变大写后的拷贝 print(str1.upper()) # HELLO, WORLD! # 从字符串中查找子串所在位置 print(str1.find('or')) # 8 print(str1.find('shit')) # -1 # 与find类似但找不到子串时会引发异常 # print(str1.index('or')) # print(str1.index('shit')) # 检查字符串是否以指定的字符串开头 print(str1.startswith('He')) # False print(str1.startswith('hel')) # True # 检查字符串是否以指定的字符串结尾 print(str1.endswith('!')) # True # 将字符串以指定的宽度居中并在两侧填充指定的字符 print(str1.center(50, '*')) # 将字符串以指定的宽度靠右放置左侧填充指定的字符 print(str1.rjust(50, ' ')) str2 = 'abc123456' # 检查字符串是否由数字构成 print(str2.isdigit()) # False # 检查字符串是否以字母构成 print(str2.isalpha()) # False # 检查字符串是否以数字和字母构成 print(str2.isalnum()) # True str3 = ' Hello World ' print(str3) # 获得字符串修剪左右两侧空格之后的拷贝 print(str3.strip())关注公众号,获取更多资讯 也可以访问 主页 在线学习,内容不定期更新