本文以GitHub上100天python从新手到大师为素材,规划为约100天的练习,每次的学习和总结均发在这里。有错误的地方还请朋友们指正。
计算机最开始发明出来的时候是为了帮助人们进行数值上的运算,但现在数据多种多样,人们需要计算机处理文本信息,我们今天就学习如何处理字符串内容。
使用字符串
字符串的表示
字符串通常用单引号或双引号表示,例如:
ex1 = "123abcABC"
#使用3个单引号隔开可以隔行生成
ex2 = '''
dashfh2rhj32jhk
'''
在字符串中 \ 反斜杠不是反斜杠本身的意思,而是代表的转义字符。例如 \n 代表的意思是换行,\t代表制表符。如果想打印 \ 的话,需要写 \ \ 下面是例子:
s1 = '\'hello world!\''
s2 = '\n\\hello world\\\n'
print(s1, s2, end='')
如果不希望转义字符生效的话,可以在字符串前面加r,使转义字符失效
s1 = r'\' hello world \n'
print(s1)
字符串的运算
字符串的运算内容通过代码展示
#字符串重复内容
S1 = 'hello' * 3
#字符串的拼接
S2 = 'world'
S1 += S2
#字符串的成员运算
print('ll' in s1)
print('good' not in s1)
#字符串的切片运算
str2 = 'abc123456'
print(str2[2]) #取出指定位置的字符(下标运算)#
print(str2[2:5])
print(str2[2:])
print(str2[2::2])
print(str2[::2])
print(str2[::-1])
print(str2[-3:-1])
字符串也有很多处理方法,非常方便
str1 = 'helloworld'
# 通过内置函数len计算字符串长度#
print(len(str1))
# 获得字符串首字母大写的拷贝#
print(str1.capitalize()) # Hello world#
# 获得字符串每个单词的首字母大写的拷贝
print(str1.title()) # Hello World#
# 获得字符串全部大写#
print(str1.upper()) # HELLO WORLD#
# 在字符串中查找子串所在的位置 输出要查找的字串第一个字母位置#
print(str1.find('wor')) # 6 #
print(str1.find('wrq')) # 查询不到返回-1#
# index功能与find类似,但index找不到索引时会引发异常#
print(str1.index('wor'))
# print(str1.index('wrq'))
# 检查字符串是否以指定字符串开头#
print(str1.startswith('hello')) # True#
print(str1.startswith('world')) # False#
# 检查字符串是否以指定字符串结尾#
print(str1.endswith('!')) # False#
# 将字符串以指定的宽度居中并在两侧填充指定的字符#
print(str1.center(50, '*'))
# 将字符串以指定的宽度靠右放置,左侧放置指定的字符#
print(str1.rjust(50, ' ')) # 同理也有ljust的方法#
# 检查字符串是否由数字构成#
print(str1.isdigit()) # False#
# 检查字符串是否以字母构成#
print(str1.isalpha()) # True#
# 检查字符串是否以字母和数字构成#
print(str1.isalnum()) # True#
str3 = ' jackma@alibaba'
# 获得字符串修剪左右两侧空格之后的拷贝#
print(str3.strip())
在之前我们学习到可以字符串格式化输出:
a, b = 5, 10
print('%d * %d = %d' %(a, b, a*b))
#也可以采用下面的方式
print('{0} * {1} = {2}'.format{
a, b, a*b})
print('{a} * {b} = {a*b}')
使用列表
列表是一种结构化、非标量的数据类型,生成的有序序列,即列表中每个元素存在先后顺序
# 如何定义列表、遍历列表、列表的下标运算#
list1 = [1, 3, 5, 7, 100]
print(list1)
list2 = [