python之8大方向详解字符串

1.基

是一个字符序列(sequence)
类型是str

name = '张三'
print(name)
print(type(name))
for n in name:
    print(n)

输出

张三 
<class 'str'> 
张
三

2.建

①第一种方法
直接用引号括起来,可以是单引号:’’,双引号:"",三引号:""""""或’’’’’’

zs = '张三'
ls = "李四"
ww = '''hello
王五'''
print(zs,ls,ww)

输出

张三 李四 hello
王五

②第二种方法
使用str()转换

score = 98.99
score_str = str(score)
print(type(score_str))
s = str([1,2,3])
print(type(s))
print(len(s))
for index,value in enumerate(s):
    print(f'{index} : {value}')

输出

<class 'str'>
<class 'str'>
9
0 : [
1 : 1
2 : ,
3 :  
4 : 2
5 : ,
6 :  
7 : 3
8 : ]

3.增

#字符串不能被更改,但可以被拼接
name = 'zhangsan'
#name[-1] = 'm'  ×
name2 = name[:-1] + 'm'
print(name2)
#同一个字符串在内存中就只有一份
name3 = 'zhangsan'
print(id(name))
print(id(name2))
print(id(name3))

输出

zhangsam
2595890233456
2595890311920
2595890233456

4.删 - 不能

5.改 - 不能

6.查

①可以通过下标来访问

shame = '真羞耻!'
print(shame[-1])   #主要是sequence都可以使用切片下标

输出

!

②子串是否存在 -成员运算符 in,not in 五大金刚都能用(list,tuple,str,set,dic)

shame = '真羞耻!'
print('可能' not in shame)
print('可能' in shame)

输出

True
False

③开头:startswith(),结尾:endswith()

shame = '真羞耻!'
print(shame.startswith('?真'))
print(shame.endswith('!'))

输出

False
True

④下标:index()

shame = '真羞耻!'
print(shame.index('羞'))  #1

7.操

①格式化输出

name = 'zhangsan'
print(f'{name},你吃饭了么?')  #zhangsan,你吃饭了么?
print('{name},你吃饭了么?'.format(name='lisi')) #lisi,你吃饭了么?

②拆分 split():把字符串拆分成一个列表

names = '张三,李四,王五,赵六'
print(names.split(','))
for n in names.split(','):
    print(n)

输出

['张三', '李四', '王五', '赵六']
张三
李四
王五
赵六

③合并 “分隔符”.join():将元素用分隔符合并为字符串

names = ['张三','李四','王五']
print(type(names))
j_names = "-".join(names)
print(type(j_names))
print(j_names)
names2 = ('张三','李四','王五')
j_names2 = ' .. '.join(names2)
print(j_names2)
name = 'zhangsan'
h = ' hello '
print(h.join(name))

输出

<class 'list'>
<class 'str'>
张三-李四-王五
张三 .. 李四 .. 王五
z hello h hello a hello n hello g hello s hello a hello n

④查找 count()

name = '我是一个小小小小小小小鸟'
print(name.count('小')) #7

⑤改变大小写

#title()将每个首字母变成大写
zhangsan = 'zhangsan is a bad guy'
print(zhangsan.title())      #Zhangsan Is A Bad Guy
#capitalize()将整个字符串第一个字母大写
print(zhangsan.capitalize()) #Zhangsan is a bad guy
#upper() 将所有字母都大写
print(zhangsan.upper())      #ZHANGSAN IS A BAD GUY
#lower()将所有字母都小写
lisi = 'lisi IS a good GIRL'
print(lisi.lower())          #lisi is a good girl
#swapcase() 将大写变小写,将小写变大写
print(lisi.swapcase())       #LISI is A GOOD girl
#islower()判断字符串是否全部是小写
print(zhangsan.islower())    #True
#isupper()判断字符串是否全部是大写
print(zhangsan.isupper())    #False
#istitle() 判断字符串是否每个首字母是大写
print(zhangsan.istitle())    #False

⑥运算

name1 = 'zhangsan '
name2 = 'lisi '
print(name1 + name2) #zhangsan lisi 
print(name2*4)       #lisi lisi lisi lisi 

⑦去空格

name = ' zhang san '
#去左右空格
print(name.strip())  #zhang san#
#去左空格
print(name.lstrip()) #zhang san #
#去右空格
print(name.rstrip()) # zhang san#

⑧替换replace(A,B) 把A替换为B

name = '我是一只小小小小小小小鸟'
print(name.replace('小','大'))

⑨比较
一个个字符比过去,碰到能决定大小的,就直接返回
如果一边已经用完了,另一边还有,另一边就赢了
小写字母大于大写字母,其他顺序查ASCII

print('zz'>'zhangsan')  #比较到第二个字符z > h 所以为True
print('lisi'>'zhangsan')#第一个字符处,l < z 所以为False
print('lisi'>'lisi2')   #前四个字符都相同,'lisi2'的长度大于'lisi' 所以为False
print('lisi' > 'LISI')

输出

True
False
False
True

8.切

切片详见这篇博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值