【Python入门基础】字符串与常用运算符及处理

2020-11-11 10:45发布

字符串

      字符串时零个或多个字符组成的有限序列,在Python程序中,如果我们把单个或多个字符用单引号或双引号包围起来,就可以表示一个字符串。

eg.字符串表示

s1 = 'hello, world!'
s2 = "hello, world!"
# 以三个双引号或单引号开头的字符串可以折行
s3 = """
hello, 
world!
"""
print(s1, s2, s3, end='')

       可以在字符串中使用'\'(反斜杠)来表示转义,也就是说'\'后面的字符不再是它原来的意义,例如'\n'不是表示反斜杠和字符n,而是表示换行;而'\t'也不是表示反斜杠和字符t,而是表示制表符。所以想在字符串中表示‘ ' ’要写成‘ \' ’,同理表示‘ \ ’要写成‘\\ ’。在‘ \ ’后面还可以跟一个八进制或者十六进制数表示字符,例如‘\141’和‘\x61’都表示小写字母a,前者为八进制的表示法,后者为十六进制的表示法。也可以‘ \ ’后面跟Unicode字符编码来表示字符,例如‘\u4e2d\u56fd’代表中文‘中国’。

eg.转义输出

s1 = '\141\142\143\x61\x62\x63'
s2 = '\u4e2d\u56fd'
print(s1, s2)

      如果不希望字符串中的‘ \ ’表示转义,可以通过在字符串的最前面加上字母‘r’。特别是在爬虫时,网页的网址中‘ \ ’出现的频率特别高,但其不表示转义,网址前加‘r’就很重要。

eg.不出现转义

s1 = r'\'hello, world!\''
s2 = r'\n\\hello, world!\\\n'
print(s1, s2, end='')
#输出\'hello, world!\',\n\\hello, world!\\\n

字符串操作及运算

      python为字符串类型提供了非常丰富的运算符,可以使用‘+’运算符来实现字符串的拼接,可以使用运算符来重复一个字符串的内容,可以使用‘in’和‘not in’来判断一个字符串是否包含另外一个字符(成员运算),可以使用‘[ ]’和‘[:]’运算符从字符串取出某个字符或某些字符(切片运算)等。

eg.字符串拼接、判断及切片运算

s1 = 'hello ' * 3
print(s1) # hello hello hello 
s2 = 'world'
s1 += s2
print(s1) # hello hello hello world
print('ll' in s1) # True
print('good' in s1) # False
str2 = 'abc123456'
# 从字符串中取出指定位置的字符(下标运算)
print(str2[2]) # c
# 字符串切片(从指定的开始索引到指定的结束索引)
print(str2[2:5]) # c12
print(str2[2:]) # c123456
print(str2[2::2]) # c246
print(str2[::2]) # ac246
print(str2[::-1]) # 654321cba
print(str2[-3:-1]) # 45

eg.字符串处理

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 = '  jackfrued@126.com '
print(str3)
# 获得字符串修剪左右两侧空格之后的拷贝
print(str3.strip())

作者:ZoomToday

链接:https://blog.csdn.net/qq_36477513/article/details/104693443

来源:CSDN
著作权归作者所有,转载请联系作者获得授权,切勿私自转载。