Python之数据类型(二)字符串类型详解

本文聚焦Python字符串类型,介绍了字符串的截取与加长方法,如通过索引截取、乘法和加法加长;阐述了转义字符的概念、常见类型及非转义输出;讲解了字符串格式化输出的两种方式,即%和format;还列举了常见字符串函数的用法,如判断、连接、替换等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二,字符串类型

python中的字符串用单引号(’ ')或者双引号(" ")括起来
在这里插入图片描述
但是都以单引号输出显示

1.字符串的截取与加长

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

(1) 截取:

string [ start, end, step ]

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

start : 指定截取字符串的起始字符(会取到它)
start可超过字符串最大长度,但结果为空:
在这里插入图片描述
start会取到start值:
在这里插入图片描述
end : 指定截取字符串最后一个字符( 但不会取到它,类似range(start, end, step)函数)
同样,end可超指定字符串的最大长度:
在这里插入图片描述
但end不会取到该值:
在这里插入图片描述
step : 步长,默认步长为1,即每次正向(从左start往右end)扫描一个字符;指定符号后,可为负数,即每次反向(还是从左start往右end,但在字符串中反向)扫描字符;指定step大小后,可打破顺序扫描,以步长大小为单位进行跳跃式间隔扫描

反向扫描,end 值不会取到,道理同上:
在这里插入图片描述
反向取到所有长度字符串:
在这里插入图片描述
跳跃式间隔扫描:
在这里插入图片描述
step = -3 说明:
从start到end,以三个字符串为一组,每个扫描到的字符属于不同的一组,间隔为2 (3-1)
1组:gno ;2组:huy ; 3组:il
g 与 h 与 i 间隔为 2

(2) 加长:

乘法加长:字符串 * n (n 为 int 类型)
n为重复字符串的次数,以重复n次的字符串输出
在这里插入图片描述
n 可以为 0 和 负数,但是字符串结果为空:
在这里插入图片描述
加法加长:字符串 + 字符串

与字符串变量相加:
在这里插入图片描述
直接与字符串值相加:
在这里插入图片描述

(3) 字符串转变需注意

Python中字符串的每个字符不可单独改变,但整个字符串的值可以覆盖:
不可更改:
在这里插入图片描述
可覆盖:
在这里插入图片描述

2. 字符串与转义字符

(1) 什么是转义字符?

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

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

  1. \n换行符:
    在这里插入图片描述
  2. \r水平制表符(四个空格):
    在这里插入图片描述

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

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

方法:去转义转义字符:

  1. 转义换行符( \n ):
    在这里插入图片描述
  2. 转义转义符号( \ ):
    在这里插入图片描述

(4) 续行符 \ 的使用:

用在一行行尾部
在这里插入图片描述

3.字符串的格式化输出

(1) 使用% 格式化输出

% + 字符 称为 占位符

  1. 整数的输出
    8进制输出(%o):
    在这里插入图片描述
    10进制输出(%d):
    在这里插入图片描述
    16进制输出(%x):
    在这里插入图片描述
  2. 浮点数的输出
    默认6位有效数字(%f):
    在这里插入图片描述
    保留3位有效数字(%.3f):
    在这里插入图片描述
    科学记数法输出(%e):
    默认6位有效数字
    在这里插入图片描述
  3. 字符串的输出
    直接输出(%s):
    在这里插入图片描述
    取位输出(%.2s,取了2位):
    在这里插入图片描述
    对齐输出(%15s,右对齐共占15格;%-15s,左对齐共占15格):

在这里插入图片描述

(2) 使用format 格式化输出

  1. 不带编号,即{}:
    在这里插入图片描述
    16进制输出:
    在这里插入图片描述
    字符串取位:
    在这里插入图片描述
  2. 带数字编号,可调换顺序,可重复,即{1},{3}:
    在这里插入图片描述
  3. 带关键字,即{name}, {password}:
    在这里插入图片描述

4. 常见的字符串函数

(1)string.isnumeric():

判断字符串是否全为数字
在这里插入图片描述
在这里插入图片描述

(2)splitStr.join(string):

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

  1. 分隔符:123;字符串:liyuhong
    在这里插入图片描述
  2. 分隔符:|;字符串:oxox
    在这里插入图片描述
  3. 分隔符:|;字符串:6,单字符,无需分割,无分割
    在这里插入图片描述

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

以原始字符串位中心,生成新字符串;fillchar为str类型,默认为空格
在这里插入图片描述

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

返回一个左对齐 / 右对齐 的指定width宽度的新字符串,fillchar默认空格填充。
在这里插入图片描述
当width值小于string字符串长度时,按原始字符串长度显示:
在这里插入图片描述

(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值最大/最小的字符:
在这里插入图片描述

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

将一个整数转化成一个字符 / 将一个字符转化成一个整数
整数同样为ASCII数值
在这里插入图片描述
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
在这里插入图片描述
找不到则报错

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

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

  1. 单个字符的分割
    在这里插入图片描述
  2. 连续相同字符的分割,以及头尾字符的分割,注意空字符
    连续字符为分隔符
    在这里插入图片描述
    头尾作为分隔符:
    在这里插入图片描述
  3. 指定分割次数
    在这里插入图片描述

(12)string.swapcase()

字符串中每个字符的大小写互换
在这里插入图片描述

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

将字符串中的每个字符转换成大写 / 转换成小写
在这里插入图片描述

(14)string.splitlines(True)

以回车换行(’\r’, ‘\r\n’, \n’)为条件分割成各个字符串,整体形成一个列表,参数用来设置是否保留回车换行符
在这里插入图片描述
参数为True则保留
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值