基本数据类型之字符串类型
续上:数字类型
继下:列表类型
二、字符串类型
======================基本使用====================
1、用途:
记录描述性质的状态
2、定义方式:
在单引号、双引号、三引号内包含一串字符串
数据类型转换:所有类型都可以被str转成字符串类型
res = str([1,2,3]) print(res,type(res)) #结果:1, 2, 3] <class 'str'>
3、常用操作+内置的方法
优先掌握的操作:(******)
3.1、按索引取值(正向取+反向取):只能取
msg = 'hello' print(msg[0],type(msg[0])) #结果:h <class 'str'> print(msg[-1]) #结果:o print(msg[-2]) #结果:l msg[0] = 'H' #提示报错,表示字符串只能取不能写入
3.2、切片(顾头不顾尾,步长)
# str [0:3:1] 0,是开始位置;3,是终止位置;1,是迈的步子为1 #示例一: msg = 'hello world' res = msg[0:3:1] #0 1 2 print(res) #结果:hel print(msg) #结果:hello world #示例二: res = msg[:] reg = msg[::2] #0 2 4 6 8 10 print(reg) #结果:hlowrd print(res) #结果:hello world #示例三: msg = 'hello world' res = msg[-1:-12:-1] print(res) #结果:dlrow olleh res = msg[-1::-1] print(res) #结果:dlrow olleh res = msg[::-1] print(res) #结果:dlrow olleh
3.3、长度 len
msg = 'hello world' print(len(msg)) #结果:11
3.4、成员运算 in 和not in
in 判断一个人字符串是否存在于大字符串中
msg = 'kevin is dsb' print('kevin' in msg) #结果:True print('dsb' in msg) #结果:True print('aaa'not in msg) #结果:True print(not 'aaa' in msg) #结果:True
3.5、移除空白 strip、lstrip、rstrip
用来去除字符串两边的字符,不指定默认去除的空格
#strip使用方法:str.strip('需要移除的字符') #示例一: msg = '****@#$**hello****$%^**** ' print(msg.strip('*@#$%^ ')) #结果:hello #示例二: name = input('请输入用户名:').strip() pwd = input('请输入密码:').strip() if name == 'Tyler' and pwd == '123': print("登录成功了!") else : print('输错了!')
#strip 移除两边 print('***********Tyler***********'.strip('*')) #结果:Tyler #lstrip 移除左边 print('***********Tyler***********'.lstrip('*')) #结果:Tyler*********** #rtrip 移除右边 print('***********Tyler***********'.rstrip('*')) #结果:'***********Tyler
3.6、切分 split
针对有规律的字符串,按照某种分割符切成列表
#split 用法:str.split('用于切分的符号',需要切分的次数) #示例一: info = 'Tyler:18:male' res = info.split(':') print(res,type(res)) #结果:['Tyler',’18‘,’male‘] <class 'list'> print(res[0],res[1]) #结果:Tyler 18 #示例二: cmd = 'get name net' print(cmd.split(' ',1),) #结果:['get','name net']
3.7、拼接 join
用':'号作连接符号将纯字符串的列表拼接成一个字符串
#用法:'连接符'.join(字符串) reg = ['1','2','3'] l = ':'.join(reg) print(l) #结果为:1:2:3
3.8、替换 replace 把旧字符串替换成新字符串
# 方法:str.replace('旧','需要替换成新的',替换几个) msg = 'Tyler is good' res = msg.replace('is','my',1) print(res) #结果:Tyler my good
3.9、小写 lower, 大写 upper
lower 把所有的字母小写,upper 把所有字母大写
print('Trler'.lower()) #结果:trler print('Trler'.upper()) #结果:TRLER
3.10、判断前缀开始 startswith、判断后缀结束 endswith
msg = 'alex is dsb' print(msg.startswith('alex')) #结果:True print(msg.endswith('b')) #结果:True
3.11、format的三种玩法
# %s的使用
res = 'my name is %s my age is %s'%('Tyler',18) print(res) #结果:my name is Tyler my age is 18 #第一种: res = 'my name is {name} my age is {age}'.format(name = 'Tyler',age = 18) print(res) #结果:my name is Tyler my age is 18 #第二种: res = 'my name is {} my age is {}'.format('Tyler',18) print(res) #结果:my name is Tyler my age is 18 #第三种: res = 'my name is {0} my age is {1}{1}{1}'.format('Tyler',18) print(res) #结果:my name is Tyler my age is 181818
3.12、循环
for item in 'hello': print(item) '''结果:h e l l o'''
3.13、判断字符是否纯数字 isdigit
如果字符串是由纯数字组成,则返回True
print('123123'.isdigit()) #结果:True
3.14、is其他
==============该类型总结===============
存一个值
有序
不可变:
======================================