3.字符串


字符串基础

由字母、数字和特殊字符来组成的序列

  • 字符串下标
str = "012345" 
print(str[0]) #1
print(str[-1]) #5
print(str[0:4]) #0,1,2,3 左闭右开
#下标从0开始
#从左到右索引默认从0开始,最大范围是字符串长度-1
#从右到左索引默认从-1开始,最大范围是字符串开头

字符串拼接

string = "123"+"456"
print(string) #123456

字符串引号

  • 单双引号混用
str = "i'am lilie" 
  • 大段文字用三引号
str = '''原样文本,多行注释'''

字符串常用方法

  • find() 方法

查找子字符sub在str中首次出现的位置(索引),返回该索引。
(如果该值出现了多次,会得到第一个对应的索引)
如果没出现过,会返回-1。

#find()方法
str = "012345" 
print(str.find(4)) #4
print(str.find[1:]) #12345

str = '123456678910'
print(str.find('6')) #返回5 只会返回第一次出现的结果
  • len() 取长度函数
str = 'abcde'
print(len(str)) #5
  • replace() 替换字符串 第三个参数代表替换几次

返回字符串的副本,其中出现的所有子字符串old都将被替换为new。

str = 'abcdeabcdeabcde'
str = str.replace('a','b',2)
print(str) #打印结果:bbcdebbcdeabcde
  • str.split(sep=None)

返回一个由字符串内单词组成的列表,使用sep作为分隔字符串。
(如果sep未指定或为None,则会应用另一种拆分算法:连续的空格会被视为单个分隔符。如果字符串包含前缀或后缀空格的话,返回结果将不包含开头或末尾的空字符串。)

"li hua,zhang san,li ming".split(",")
['li hua', 'zhang san', 'li ming']
>>> "12:30:05".split(":")
['12', '30', '05']
>>> "a-b-c-".split("-")
['a', 'b', 'c', '']
>>> "math music  history ".split()
['math', 'music', 'history']
>>> "math music  history ".split(" ")
['math', 'music', '', 'history', '']
  • str.join(iterable):

返回一个字符串,该字符串为用原字符串拼接(分隔)可迭代对象iterable的项得到。
(iterable,可迭代对象,序列属于可迭代对象)
如果iterable中存在任何非字符串值,则会报错TypeError。
调用该方法的字符串将作为可迭代对象的元素之间的分隔。

" ".join(['math', 'music', 'history'])
'math music history'
>>> "-".join(['2020', '1', '1'])
'2020-1-1'
>>> "-".join("abcde")
'a-b-c-d-e'
  • count 返回字符出现几次
  • isalpha 判断字符串中是否是纯字母
  • isdigit 判断字符串中是否是纯数字
  • input 用户输入的所有都是字符串型
  • int() 强制把字符串转换成整数型,但是字符串必须是数字,否则报错
  • str() 强制转换成字符串类型