一、字符串
1.1 字符串的表现方式
字符串有两种种表现方式
-
-
- 单行 使用一对单引号 或 一对双引号
- 多行 使用一对三引号
-
注意:
在最外层使用了单引号,内部只能使用双引号。反之亦然
在单行写不下的情况下,可使用 \ 来写到下一行,他们表示同一行,中间没有/n的换行符。\的后面不能接任何东西了。
>>> str1 = 'hui is good man' >>> str2 = """... hui is ... a... good man """>>> str2'\nhui is \na\ngood man ' >>> str3 = "hui is a \... good \... cool\... man">>> str3'hui is a good coolman'
1.2 字符串的拼接
字符串的拼接,其实就是字符串类中的特殊方法,进行了运算符重载。详细的可以看列表部分的字符串重载。
1===使用+进行扩展>>> str1 = 'hui is '>>> str2 = 'a good man'>>> s = str1 + str22===使用*进行扩展>>> s1 = "*">>> s2 = s1*8>>> s2'********'>>> s3 = '#'*8>>> s3'########'
二、字符串的索引与切片
字符串 和 列表一样,也是一种 可变 序列化的数据结构。
2.1 索引
2.2 切片
S[start:[end:step]] 藏头露尾: 包含start 不包括end
step支持负数。当step是负数的时候,start是靠右边的index,end是靠左边的index。
s[0:3] #打印前3个索引的值s[:3] #同上s[3:] #打印第三个到末尾s[::2] #从头到尾,跳着打印s[::-1] #倒序打印s[-2::-2] #倒序从倒数第二个向前取值,每隔2个取一次值s[5:0:-2] #倒序从索引5向前取值,每隔2个取一次值
三、字符串的格式化三种方式
3.1 % 占位符
在py2中比价常用的一种方式,在py3中也支持。%是一个占位符。后面的变量来进行代替。
3.2 { } format
在py3中使用formmat来替换%的方法,在%使用中,要指定变量的数据类型(%s,%d,%f等)比较麻烦。
方式1:{}也是一个占位符,常规用法。
s4 = 'my name is {},I lived in {}'.format(name,city)
方式2:扩展用法,给{}定义一个标签,使用标签,占位符{}代表的意思更明确
name = 'hui'city = 'hangzhou's4 = 'my name is { n},I lived in { c}'.format(n=name,c=city)
3.3 f-string
第三方组织开发了,被python接受了,只在3.6 版本中有。
字符串前面加上个f,{}里面直接填写变量。
s4 = f'my name is {name},I lived in{city}'
四、字符串常用方法
strip 无参数的时候,去掉两边的空白字符,包括 /r /t 空格这些空白字符 有参数的时候,去掉开头和结尾的指定的字符split 无参数的时候,以空格分割,存储成一个列表返回 有参数的时候,以指定字符分割,也是存储成一个列表返回index 查找对应的字符串的开始位置索引,不存在则报错,建议使用findfind 查找对应的字符串的开始位置索引,不存在则返回-1replace 替换len py的内置函数,计算长度。count 统计指定字符或字符串的长度 join 将序列中的元素以指定的字符连接生成一个新的字符串。 str = "-"; seq = ("a", "b", "c"); # 字符串序列 print(str.join( seq )); #a-b-c center 字符串居中,两端以指定字符补齐 ljust 字符串靠左对齐,右边以指定字符补齐 rjust 字符串靠右对齐,坐标以制定字符补齐 upper 把字符串中的小写转化为大写 lower 把字符串中的大写转化为小写 title 把字符串中的单词,首字母大写,其他变为小写 capitalize 字符串首字母大写,其他都为小写
字符串中文解释大全
五、数字与字符串的区分
数 字 是由阿拉伯数字组成,不带引号。 a = 1 , num =102
字符串 是带引号的 a='i am LH'
但是字符串有些方法查看是不是数字,原因是 input函数接受的键盘输入,都是以字符串的形式存储。
但是我们要的是数字,字符串查看是否是数字的方法,是针对字符串的内容而言。 而字符串本身的类型还是字符串。
方法: isdecimal isnumeric isdigit
s1 = '1'print(s1.isdecimal()) # Trueprint(s1.isdigit()) # Trueprint(s1.isnumeric()) # Trueprint("*"*8)s2 = '三'print(s2.isdecimal()) # Flaseprint(s2.isdigit()) # Flaseprint(s2.isnumeric()) # Trueprint("*"*8)s3 = '½'print(s3.isdecimal()) # Flaseprint(s3.isdigit()) # Flaseprint(s3.isnumeric()) # Trueprint("*"*8)s4 = 'Ⅱ'print(s4.isdecimal()) # Flaseprint(s4.isdigit()) # Flaseprint(s4.isnumeric()) # Trueprint("############"*8)s4 = '①'print(s4.isdecimal()) # Flaseprint(s4.isdigit()) # Trueprint(s4.isnumeric()) # True
范围总结:isnumeric 》 isdigit 》 isdecimal
数字形式的 可以数的 阿拉伯十进制