python字符串类型及操作

 字符串类型的表示

字符串有两类共四种表示方式
由一对单引号或双引号表示,仅表示单行字符串
由一对三单引号或三双引号表示,可表示多行字符串
三单引号形成的是字符串,但是它的作用可以当作注释

字符串的序号

有两种索引体系   

正向递增序号反向递减序号

 字符串有两个非常重要的操作

索引和切片:它们使用[ ]获取字符串的单个字符或一段字符
索引:返回字符串中单个字符             <字符串>  [M]
切片:返回字符串中一段字符字串      <字符串>[M:N]

字符串切片的用法、高级用法

(一)

<字符串> [M:N] ,  M缺失表示至开头,N缺失表示至结尾
(其中的M和N都是可以缺失的,缺失指的是我们不提供M不提供N)
"0 1 2 3 4 5 6 7 8 9 10" [ : 3]   结果是 "0 1 2"

(二)

<字符串> [M:N :K] , 根据步长K对字符串切片
"0 1 2 3 4 5 6 7 8  9 10"   [1 : 8 : 2]       结果是   " 1  3 5 7"
它指的是从1位置开始到8位置前结束,以步长为2来获取其中的字符

(三)

我们要想将一个字符串逆序,我们可以使用[M:N:K]的形式,使用[: : -1] 表示
M N没有给出来,默认缺失的情况下,表示开头至结尾,步长为-1,相当于逆序

展示学习成果 

字符串切片操作
s[0]   / s[-11]就是一个""字
s[2:7]是"力学习呦每"    能取到2不能取到7,取前不取后,中间的都取上
[2:-4]
s[-9:7]
[-9:-4]
s[:3] ==s[0:3]至开头从0开始一共取三位为"要努力"
s[-3:]==s[-3:-1]至结尾从-3开始到结尾都取为"都进步"
s[:]全取
s[::2]M N没有给出来,默认缺失的情况下,表示开头至结尾,步长为2,从0开始为"0 2 4 6 8 10"
s[1:8:3]从1开始,取不到8,在这个范围内以步长为3取为"努习天"
这个步长不是空3格所得,而是加3得的数(这样不容易绕晕呜呜呜)
s[: : -1]逆序
s[6:1:-1]逆序,能取到6,取不到1,得到的是"每呦习学了力"

以下这种很常用,随便想的号码 


字符串的运算操作符

操作符及使用描述
x+y连接两个字符串x 和 y
n*x 或x*n复制n次字符串x(能够将字符串x复制n次
x in s如果x是s的子串,返回True,否则返回False
#获取星期字符串1
weekstr="星期一星期二星期三星期四星期五星期六星期日"
weekid=eval(input("请输入星期数字(1-7):"))
pos=(weekid-1)*3
print(weekstr[pos:pos+3])

改进一下 

#获取星期字符串2
weekstr="一二三四五六日"
weekid=eval(input("请输入星期数字(1-7):"))
print("星期"+weekstr[weekid-1])

 字符串处理函数

函数及使用描述
len(x)长度,返回字符串x的长度
len("一二三456")结果为6
str(x)任意类型x所对应的字符串类型,str(1.23)结果为"1.23"
hex(x)或oct(x)整数x的十六进制或八进制小写形式字符串
hex(425)结果为"ox1a9"       oct(425)结果为"Oo651"
chr(u)U为Unicode编码,返回对应的字符
ord(x)x为字符,返回其对应的Unicode编码

这里看一些关于Unicode的编码的有趣例子

"1+1=2" +chr(10004)
'1+1=2✔'
"这个字符♉的unicode值是:" +str(ord("♉")) #这个金牛字符是输入法打上去的,输入法yyds!!!
'这个字符♉的unicode值是:9801'
for i in range(12):
    print(chr(9800+i),end="")

    
♈♉♊♋♌♍♎♏♐♑♒♓ #听了老师的课才知道金牛座排第二 /(ㄒoㄒ)/~~
🐏🐂双 🦀🦁♀ 秤 🦂射 摩 瓶 🐟


 字符串处理方法

方法在编程中是一个专有名词

方法特指<a> .<b>()风格中的函数<b>()

方法必须要用 . 的形式来执行

方法及使用描述
str.lower()
str.upper()
返回字符串的副本,全部字符大写或小写
"ABcDef".lower()   结果为”abcdef“
str.split(sep=None)返回一个列表,由str根据sep被分隔的组成部分
"A,B,C".split(",") 结果为['A','B','C']
str.count(sub)返回子串sub在str中出现的次数
"an apple a day".count("a") 结果为4
str.raplace(old,new)返回字符串str副本,所有old子串被替换为new
"python".raplace("n","n123")结果为"python123"
str.center(width[,fillchar])字符串str根据宽度width居中,fillchar
"python".center(20,"=")  结果为
'=======python======='
str.strip(chars)从str中去掉在其左侧和右侧chars中列出的字符
"= python= ".strip(" =np") 结果为  "ytho"
str.join(iter)在iter变量除最后元素外每个元素后增加一个str",".join("12345")
结果为"1,2,3,4,5" #主要用于字符串分隔

字符串类型的格式化

格式化是对字符串进行格式表达的方式

字符串格式化使用 .format()方法,用法如下:

 字符串中槽{}的默认顺序是012...

format()中参数的顺序也为012...

就将format()中的参数按顺序填到对应的槽中


 字符串中槽{}的顺序可以不为默认

format()中参数的顺序默认不变

将format()中的参数按照槽中数字填放即可

format()方法的格式控制
<填充>用于填充的单个字符
<对齐><左对齐    >右对齐    ^居中对齐
<宽度>槽设定的输出宽度
引导符号
>>>"{0:=^20}".format("python") =是填充符号,^是居中,20是输出宽度
"=======python======="
>>>"{0:*>20}".format("bit") *填充符号,>右对齐,20是输出宽度
"*****************bit"  右对齐指的是参数右对齐,不是填充物
>>>"{:10}".format("bit")    结果为  "bit       "
:是引导符号,指宽度为10,默认情况下我们填充为空格,变量左对齐
format()方法的格式控制
<,>数字的千位分隔符
<.精度>浮点数小数 精度或字符串最大输出长度
<类型>整数类型 b,c,d,o,x,X
浮点数类型 e,E,f,%
>>>"{0:,.2f}".format(12345.6789)    结果为"12,345.67"
.2就是指精度,保留浮点数小数两位的精度
类型
b二进制
c字符形
d十进制
o八进制
x十六进制
X大写的十六进制
e采用科学计数法e形式
E采用科学计数法E形式
f指通常的非科学计数法形式表示浮点数
%以百分数形式表示

在编写python程序中

所有出现的标点符号

要采用英文形式

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据的小数据孩儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值