python字符串实例_python 基本数据类型--字符串实例详解

字符串(str) :把字符连成串. 在python中⽤', ", ''', """引起来的内容被称为字符串 。

注意:python中没有单一字符说法,统一称叫字符串。

一、切片和索引

1、索引:索引就是下标,从0开始

1521877-20181119155945153-418946259.png

str= "我是字符串"

print("str[0]=",str[0])print("str[1]=",str[1])print("str[2]=",str[2])print("str[3]=",str[3])print("str[4]=",str[4])

结果:

str[0]=我

str[1]=是

str[2]=字

str[3]=符

str[4]= 串

2、切片:可以使用下标来截取部分字符串的内容

语法:str[start:end]

规则:顾头不顾尾,从start开始截取,截取到end位置,但是不包括end。

s2 = "python最⽜B"

print(s2[0:3]) #从0获取到3. 不包含3. 结果: pyt

print(s2[6:8]) #结果 最⽜

print(s2[6:9]) #最⽜B

print(s2[6:10]) #如果右边已经过了最⼤值. 相当于获取到最后 ;最⽜B

print(s2[4:]) #如果想获取到最后. 那么最后⼀个值可以不给.

print(s2[-1:-5]) #从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数. 你怎么数也数不到-5

print(s2[-5:-1]) #⽜b, 取到数据了. 但是. 顾头不顾腚. 怎么取最后⼀个呢?

print(s2[-5:]) #什么都不写就是最后了

print(s2[:-1]) #这个是取到倒数第⼀个

print(s2[:]) #原样全部输出

间隔截取:

语法:str[start:end:step]  #step表示间隔多少取一个

print(s2[1:5:2]) #从第⼀个开始取, 取到第5个,每2个取1个, 结果: yh, 分析: 1:5=>ytho => yh

print(s2[:5:2]) #从头开始到第五个. 每两个取⼀个

print(s2[4::2]) #从4开始取到最后. 每两个取⼀个

print(s2[-5::2]) #从-5取到最后.每两个取⼀个

print(s2[-1:-5]) #-1:-5什么都没有. 因为是从左往右获取的.

print(s2[-1:-5:-1]) #步⻓是-1. 这时就从右往左取值了

print(s2[-5::-3]) #从倒数第5个开始. 到最开始. 每3个取⼀个, 结果oy

步⻓: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1

切片语法:

str[start:end:step]

start: 起始位置

end: 结束位置

step:步⻓

二、字符串其他操作

切记:字符串是不可变得对象,所以任何操作都不能对原字符串进行修改,如果需要更改字符串必须给变量重新赋值。

准备字符串:s1="python" ; s2="pycharm"

1、s1.capitalize( )   首字母大写

print(s1.capitalize()) #Python

2、s1.upper( )   全部大写

print(s1.upper()) #PYTHON

3、s1.lower( )  全部小写

print(s1.upper().lower()) #python

4、s.title( ) 每个单词首字母大写

s="money is the bastard"

print(s.title()) #Money Is The Bastard

5、s.center( width,fillchar=None) 字符串居中,总长度为width,其余位置用符号fillchar填充

s="join_l"

print(s.center(16,"*")) #*****join_l*****

6、s.strip() 去掉左右两端的空格

s = "we are Frirends"ret= s.strip() #去掉左右两端的空格

print(ret)

7、ret = s.lstrip() 去掉左边空格

8、ret = s.rstrip( ) 去掉右边空格

9、ret = s.replace(s1,s2) 把字符串中的s1替换为s2

s="Are you good men"s=s.replace("men","women")print(s) #Are you good women

注意:字符串不可变,必须重新赋值回去,才能实现真正的替换

10、s.split(sep) 以sep切割字符串,返回一个列表

s="Are-you-good-men"

print(s.split("-")) #['Are', 'you', 'good', 'men']

三、字符串的格式化输出

#格式化输出

s12 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦') #之前的写法

print(s12)

s12= "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发") #按位置格式化

print(s12)

s12= "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28) #指定位置

print(s12)

s12= "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润

发", age=28) # 指定关键字

print(s12)

四、查找

1、s.tartswith(“字符串”) 判断是否以某字符串开头

s="you are lucky dog"

print(s.startswith("you")) #True

print(s.startswith("are")) #True

2、s.endswith(“字符串”) 判断是否以某字符串结尾

3、s.count( "字符串") 查询字符串出现的次数

s="I Love a girl,she is supergirl"

print(s.count("i"))

4、s.find("字符串“) 寻找字符串出现的第一个位置

s="I Love a girl,she is supergirl"

print(s.find("i")) #10

5、s.index("字符串") 查询字符串,并返回第一个的索引

ret = s.index("girl") #求索引位置. 注意. 如果找不到索引. 程序会报错

print(ret)

五、条件判断

1、s.isalnum() 是否字⺟和数字组成  2、s.isalpha() 是否由字⺟组成  3、s.isdigit() 是否由数字组成, 不包括⼩数点

#练习. ⽤算法判断某⼀个字符串是否是⼩数

s17 = "-123.12"s17= s17.replace("-", "") #替换掉负号

ifs17.isdigit():print("是整数")else:if s17.count(".") == 1 and not s17.startswith(".") and not s17.endswith("."):print("是⼩数")else:print("不是⼩数")

六、计算字符串的长度

s.len("字符串")

s="I Love a girl,she is supergirl"

print(len(s)) #30

7、可迭代

可以用for循环拿去每一个元素。

s= "join"

for i ins:print(i)

结果:

j

o

i

n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值