字符串

一、字符串

1.1 字符串的表现方式

  字符串有两种种表现方式

      • 单行  使用一对单引号 或 一对双引号
      • 多行  使用一对三引号

注意:

  在最外层使用了单引号,内部只能使用双引号。反之亦然

  在单行写不下的情况下,可使用  来写到下一行,他们表示同一行,中间没有/n的换行符。的后面不能接任何东西了。

>>> str1 = 'hui is good man'

>>> str2 = """ ... hui is ... a ... good man """ >>> str2 ' hui is a good 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 + str2
2===使用*进行扩展
>>> 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        查找对应的字符串的开始位置索引,不存在则报错,建议使用find
find         查找对应的字符串的开始位置索引,不存在则返回-1
replace     替换
len          py的内置函数,计算长度。
count        统计指定字符或字符串的长度    
join         将序列中的元素以指定的字符连接生成一个新的字符串。
                 str = "-";
          seq = ("a", "b", "c"); # 字符串序列
print(str.join( seq ));
#a-b-c
center    字符串居中,两端以指定字符补齐
ljust     字符串靠左对齐,右边以指定字符补齐
rjust     字符串靠右对齐,坐标以制定字符补齐

upper    把字符串中的小写转化为大写
lower    把字符串中的大写转化为小写
title    把字符串中的单词,首字母大写,其他变为小写
capitalize 字符串首字母大写,其他都为小写

字符串中文解释大全  https://www.cnblogs.com/zqxqx/p/8782995.html

 五、数字与字符串的区分

  数    字      是由阿拉伯数字组成,不带引号。 a = 1 , num =102

  字符串      是带引号的          a='i am LH'

但是字符串有些方法查看是不是数字,原因是 input函数接受的键盘输入,都是以字符串的形式存储。 

但是我们要的是数字,字符串查看是否是数字的方法,是针对字符串的内容而言。 而字符串本身的类型还是字符串。

方法: isdecimal   isnumeric   isdigit

s1 = '1'
print(s1.isdecimal()) #  True
print(s1.isdigit()) #  True
print(s1.isnumeric()) #  True

print("*"*8)
s2 = ''
print(s2.isdecimal()) #  Flase
print(s2.isdigit()) #  Flase
print(s2.isnumeric()) #  True

print("*"*8)
s3 = '½'
print(s3.isdecimal()) #  Flase
print(s3.isdigit()) #  Flase
print(s3.isnumeric()) #  True

print("*"*8)
s4 = ''
print(s4.isdecimal()) #  Flase
print(s4.isdigit()) #  Flase
print(s4.isnumeric()) #  True

print("############"*8)
s4 = ''
print(s4.isdecimal()) #  Flase
print(s4.isdigit()) #  True
print(s4.isnumeric()) #  True
View Code

范围总结:isnumeric    》  isdigit 》   isdecimal

       数字形式的   可以数的       阿拉伯十进制

  

  

原文地址:https://www.cnblogs.com/louhui/p/8848386.html