python学习手册——字符串(1)

纸上得来终觉浅,绝知此事要躬行!

目录

单双引号字符串

用转义序列代表特殊字节

raw字符串抑制转义

三重引号编写多行字符串快

字符串应用

字符串转换工具

字符串方法实例

修改字符串

文本解析

清楚每行末尾的空白rstrip

大小写转换upper/lower

检测内容

格式化表达式


单双引号字符串

在python字符串中,单双引号字符是可以互换的。因此,可以在一个双引号字符所包含的字符串中嵌入一个单引号字符,反之亦然。

python自动在任意的表达式中合并相邻的字符串常量,等效于“+”操作符。

用转义序列代表特殊字节

转义序列让我们能够在字符型中嵌入不容易通过键盘输入的字符。字符“\"以及后边的一个或多个字符,在最终字符串中会被一个单个字符所替代,这个字符通过转义序列定义了一个二进制值。

字符串转义序列
转义意义转义意义
\newlie忽视(连续)\\反斜杠(\)
\'单引号(')\"双引号(")
\a响铃\b倒退
\f换页\n换行
\r返回\t水平制表符
\v垂直制表符\N{id}Unicode数据库Id
\uhhhUnicode16位十六进制值\uhhhhhhhhUnicode32位十六进制值
\xhh十六进制值\ooo八进制值
\0Null\other不转义

 

raw字符串抑制转义

如果字母r出现在字符串的第一个引号前面,表示关闭转义机制,python会将反斜杠作为常量来保持。(注意python脚本会自动在windows和UNIX的路径中使用斜杠表示字符串路径。)

三重引号编写多行字符串快

一种对编写多行文本数据来说很便捷的语法:以三重引号(单双皆可)开始,紧跟任意行数的文本,并以开始时同样的三重引号结尾。

sanchong="""xiaoming
isn't my name,

is my nicknam。"" """
print(sanchong)
sanchong
'''
xiaoming
isn't my name,

is my nickname。"" 

'xiaoming\nisn\'t my name,\n\nis my nickname。"" '
'''

三重引号字符串常用于文档字符串,当他出现在文件的特定地点时,被当作注释一样的字符串常量。用来调试python脚本也很便捷有效。

字符串应用

索引S[i]获取特定偏移的元素。第一个元素的偏移为0;负偏移索引表示从右计数,S[-i]=S[len(s)-i]。

分片S[i:j]提取对应的部分作为一个序列。上边界并不包含在内;默认i=0,j=len(S);

扩展分片S[i:j:k]k作为步进对分片应用进行扩展,k默认值为1.k为负数时要求i>j,否则得到空字符串" ",特别地,k=-1时可以实现字符串反转。

"咪喵是的念来过倒"[::-1]
# '倒过来念的是喵咪'

字符串转换工具

int函数将字符串转换为数字,float函数将字符串转换为浮点数,而str则可以将整数、浮点数转换为字符串。

ord函数将单个字符转换其对应的ASCII码,返回该字符在内存中对应的二进制值,chr函数执行相反的操作。

字符串方法实例

修改字符串

字符串具有不可变性,修改字符串是通过建立新字符串来实现的。replace方法可以实现字符串中一个子字符串的替代,这里执行的是”全部替换“操作,如果是针对具体位置的替换,可以结合find方法搜索使用。

"PythonPython".replace("P","p") 
# 'pythonpython'  
"PythonPython".replace("p","p")
# 'PythonPython' 第一个参数中的子字符串在原字符串中为发现,不做任何修改

replace每次返回一个新的字符串对象。实际上利用合并操作和replace去修改字符串具有潜在的缺陷,更好的办法是将字符串转换为列表,支持原处修改,然后再将列表变回字符串。

L=list("Python")
L[2:4]=["T","H"]
"".join(L)
# 'PyTHon'

文本解析

split方法将一个字符串分割为一个子字符串列表,以分隔符字符串为标准。分隔符默认值为空格。

str="P_y_th_on"
str.split("_")
# ['P', 'y', 'th', 'on']

清楚每行末尾的空白rstrip

大小写转换upper/lower

检测内容

格式化表达式

字符串格式化代码
代码意义代码意义代码意义代码意义
s字符串(或任何对象)rs,使用reprc字符d十进制整数
i整数u无号整数o八进制整数x十六进制整数
Xx,大写打印e浮点指数Ee,大写打印f、F浮点十进制
g浮点e或fG浮点E或F%常量%  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值