Python数据类型之二

  • 二,字符串类型
  • 1.字符串的截取与加长
  • (1) 截取:
  • (2) 加长:
  • (3) 字符串转变需注意
  • 2. 字符串与转义字符
  • (1) 什么是转义字符?
  • (2) 几种常见的转义字符
  • (3) 转义字符的非转义输出
  • (4) 续行符 \ 的使用:
  • 3.字符串的格式化输出
  • (1) 使用% 格式化输出
  • (2) 使用format 格式化输出
  • 4. 常见的字符串函数
  • (1)string.isnumeric():
  • (2)splitStr.join(string):
  • (3)string.center(width, fillchar):
  • (4)string.ljust(width[ ,fillchar]) / rjust(width[ ,fillchar]):
  • (5)string.lstrip(ch) / rstrip(ch) / strip(ch):
  • (6)max(string) / min(string):
  • (7)chr(x) / ord(x):
  • (8)string.replace( old, new [,times] )
  • (9)s.find(str,beg=0,length=len) / rfind(str,beg=0,length=len)
  • (10)s.index(str,beg=0,length=len) / rindex(str,beg=0,length=len)
  • (11)string.split(splitChar [,times] )
  • (12)string.swapcase()
  • (13)string.upper() / string.lower()
  • (14)string.splitlines(True)

二,字符串类型

python中的字符串用单引号(’ ')或者双引号(" ")括起来

Python分类统计字符大小写 python字符类型统计_Python分类统计字符大小写

但是都以单引号输出显示

1.字符串的截取与加长

字符串索引从左往右从0,1开始,从右往左从-1,-2开始

(1) 截取:

string [ start, end, step ]

举例string = ‘liyuhong’
字符串长度为8,索引从0到7

start : 指定截取字符串的起始字符(会取到它)

start可超过字符串最大长度,但结果为空:

Python分类统计字符大小写 python字符类型统计_转义字符_02

start会取到start值:

Python分类统计字符大小写 python字符类型统计_数据类型_03


end : 指定截取字符串最后一个字符( 但不会取到它,类似range(start, end, step)函数)

同样,end可超指定字符串的最大长度:

Python分类统计字符大小写 python字符类型统计_Python_04

但end不会取到该值:

Python分类统计字符大小写 python字符类型统计_Python分类统计字符大小写_05


step : 步长,默认步长为1,即每次正向(从左start往右end)扫描一个字符;指定符号后,可为负数,即每次反向(还是从左start往右end,但在字符串中反向)扫描字符;指定step大小后,可打破顺序扫描,以步长大小为单位进行跳跃式间隔扫描反向扫描,end 值不会取到,道理同上:

Python分类统计字符大小写 python字符类型统计_转义字符_06

反向取到所有长度字符串:

Python分类统计字符大小写 python字符类型统计_Python_07

跳跃式间隔扫描:

Python分类统计字符大小写 python字符类型统计_Python_08

step = -3 说明:

从start到end,以三个字符串为一组,每个扫描到的字符属于不同的一组,间隔为2 (3-1)

1组:gno ;2组:huy ; 3组:il

g 与 h 与 i 间隔为 2

(2) 加长:

乘法加长:字符串 * n (n 为 int 类型)

n为重复字符串的次数,以重复n次的字符串输出

Python分类统计字符大小写 python字符类型统计_转义字符_09


n 可以为 0 和 负数,但是字符串结果为空:

Python分类统计字符大小写 python字符类型统计_转义字符_10

加法加长:字符串 + 字符串与字符串变量相加:

Python分类统计字符大小写 python字符类型统计_转义字符_11

直接与字符串值相加:

Python分类统计字符大小写 python字符类型统计_Python分类统计字符大小写_12

(3) 字符串转变需注意

Python中字符串的每个字符不可单独改变,但整个字符串的值可以覆盖:

不可更改:

Python分类统计字符大小写 python字符类型统计_转义字符_13

可覆盖:

Python分类统计字符大小写 python字符类型统计_字符串_14

2. 字符串与转义字符

(1) 什么是转义字符?

有些字符(如:r、n等)在前面加上反斜杠( \ ),它的涵义和作用就发生了变化,以这种形式呈现出来的字符组合就是转义字符(如:\r、\n),\ 起到转义的作用
【接地气的解释,具体深层次解释请查阅资料】

(2) 几种常见的转义字符

  1. \n换行符:
  2. \r水平制表符(四个空格):

(3) 转义字符的非转义输出

即,不使转义字符发挥其含义,按字符串样式输出

方法:去转义转义字符:

  1. 转义换行符( \n ):
  2. 转义转义符号( \ ):

(4) 续行符 \ 的使用:

用在一行行尾部

Python分类统计字符大小写 python字符类型统计_Python_15

3.字符串的格式化输出

(1) 使用% 格式化输出

% + 字符 称为 占位符

  1. 整数的输出
    8进制输出(%o):

    10进制输出(%d):

    16进制输出(%x):
  2. 浮点数的输出
    默认6位有效数字(%f):

    保留3位有效数字(%.3f):

    科学记数法输出(%e):
    默认6位有效数字
  3. 字符串的输出
    直接输出(%s):

    取位输出(%.2s,取了2位):

    对齐输出(%15s,右对齐共占15格;%-15s,左对齐共占15格):

Python分类统计字符大小写 python字符类型统计_转义字符_16

(2) 使用format 格式化输出

  1. 不带编号,即{}:

    16进制输出:

    字符串取位:
  2. 带数字编号,可调换顺序,可重复,即{1},{3}:
  3. 带关键字,即{name}, {password}:

4. 常见的字符串函数

(1)string.isnumeric():

判断字符串是否全为数字

Python分类统计字符大小写 python字符类型统计_Python_17


Python分类统计字符大小写 python字符类型统计_字符串_18

(2)splitStr.join(string):

将spliStr作为分隔符join(加入)到string字符串的每个字符之间:

  1. 分隔符:123;字符串:liyuhong
  2. 分隔符:|;字符串:oxox
  3. 分隔符:|;字符串:6,单字符,无需分割,无分割

(3)string.center(width, fillchar):

以原始字符串位中心,生成新字符串;fillchar为str类型,默认为空格

Python分类统计字符大小写 python字符类型统计_Python分类统计字符大小写_19

(4)string.ljust(width[ ,fillchar]) / rjust(width[ ,fillchar]):

返回一个左对齐 / 右对齐 的指定width宽度的新字符串,fillchar默认空格填充。

Python分类统计字符大小写 python字符类型统计_字符串_20


当width值小于string字符串长度时,按原始字符串长度显示:

Python分类统计字符大小写 python字符类型统计_Python分类统计字符大小写_21

(5)string.lstrip(ch) / rstrip(ch) / strip(ch):

  1. 截掉字符串左边/右边/两边的空格, ch为空时,默认截掉空格(包括’\n’, ‘\r’, ‘\t’, ’ ')
  2. 指定ch为要删除的字符:
    str2.rstrip(‘5’)删除说明:从右侧第一项开始删除5,遇到非5为止为右侧删除完毕:

    左侧和右侧第一项都非5,两侧直接当作删除完毕,原样返回:

(6)max(string) / min(string):

返回string字符串中ASCII值最大/最小的字符:

Python分类统计字符大小写 python字符类型统计_数据类型_22

(7)chr(x) / ord(x):

将一个整数转化成一个字符 / 将一个字符转化成一个整数

整数同样为ASCII数值

Python分类统计字符大小写 python字符类型统计_字符串_23

A-Z 65-90

a-z 97-122

(8)string.replace( old, new [,times] )

将string字符串中的原有字符串old替换成new字符串,从而形成新的string字符串序列,默认new替换所有old,除非指定times替换次数。

  1. 默认,全部替换

    指定的old与new可为字符或者字符串
  2. 指定times替换次数

(9)s.find(str,beg=0,length=len) / rfind(str,beg=0,length=len)

从左则在s字符串中查找第一个出现的str(可为字符或者字符串),从beg开始(默认为0),查找长度为len(默认为s的整个长度);rfind则从右侧开始查找,其余不变

  1. 字符查找
  2. 字符串查找

    找不到则返回-1

(10)s.index(str,beg=0,length=len) / rindex(str,beg=0,length=len)

解释同find

Python分类统计字符大小写 python字符类型统计_Python分类统计字符大小写_24

找不到则报错

(11)string.split(splitChar [,times] )

以splitChar(字符或者字符串)为分隔符,将string拆分成不同组字符串,各个字符串整体形成一个列表

  1. 单个字符的分割
  2. 连续相同字符的分割,以及头尾字符的分割,注意空字符
    连续字符为分隔符

    头尾作为分隔符:
  3. 指定分割次数

(12)string.swapcase()

字符串中每个字符的大小写互换

Python分类统计字符大小写 python字符类型统计_转义字符_25

(13)string.upper() / string.lower()

将字符串中的每个字符转换成大写 / 转换成小写

Python分类统计字符大小写 python字符类型统计_数据类型_26

(14)string.splitlines(True)

以回车换行(’\r’, ‘\r\n’, \n’)为条件分割成各个字符串,整体形成一个列表,参数用来设置是否保留回车换行符

Python分类统计字符大小写 python字符类型统计_Python分类统计字符大小写_27

参数为True则保留

Python分类统计字符大小写 python字符类型统计_字符串_28