数据类型,字符串操作

数据类型分类

  • 可变:对原数据可以进行改变

  • 不可变:对原数据不能进行任何改变

  • 可变(不可哈希)数据类型:列表(list)、字典(dict)、集合(set)

  • 不可变(可哈希)数据类型:数字(int)、字符串(str)、元组(tuple)、布尔值(bool)

字符串

优点

  • str用于存储少量的数据
  • str切片对其操作后,获取的内容全都是str类型,

缺点

  • 存储数据单一
# 1,按索引取值
s='xiaoxiannv'
s1=s[5]
print(s1)

# 2,切片
s='xiaoxiannv'
s2=s[0:6]
print(s2)

# 3,切片加步长
s='xiaoxiannv'
s3=s[0:6:2]
print(s3)


# 4.变大 upper()
s = 'xiaoxiannv'
s1=s.upper()
print(s1)

# 5.变小 lower()
s = 'XIAOXIANNV'
s2=s.lower()
print(s2)

# 用途:验证码 。不会对原字符串进行任何操作,都是产生一个新的字符串

# 6.判断以....开始 startswith('x')
s = 'xiaoxiannv'
s3=s.startswith('x')
print(s3)

# 切片后判断以....开头
s = 'xiaoxiannv'
s5=s.startswith('x',2)
print(s5)

# 7.判断以....结束 endswith('v')
s = 'xiaoxiannv'
s4=s.endswith('v')
print(s3)

# 切片后判断以....结尾
s = 'xiaoxiannv'
s6=s.endswith('a',0,3)   #切记左闭右开
print(s6)


# 8.replace('i','o')  取代:括号内前为被取代值,后为取代值
s = 'xiaoxiannv'
s1=s.replace('i','o')
print(s1)


# 9.strip()  去除字符串左右两边空格
s = '      xiaoxiannv     '
s2=s.strip()
print(s2)


# strip('i')  从字符串左右两端开始去除指定字符,遇到不同字符则停止不在继续执行
s = 'xiaoxiannv'
s3=s.strip('l')
print(s3)


# isalnum判断字符串是否由字母或数字组成
s = 'xiaoxiannv'
s1=s.isalnum()
print(s1)

# isalpha判断字符串是否全由字母组成
s = 'xiaoxiannv'
s1=s.isalpha()
print(s1)



# isdecimal判断字符串是否全由数字组成
s = '123'
s1=s.isdecimal()
print(s1)

# split切割,默认以空格切割(str->list)
s = 'liubl aoli'
s1=s.split()
print(s1)

# 以指定字符切割
s = 'xiaoxiannv'
s1=s.split('i')
print(s1)

# 以指定字符切割,只切割前两个字符
s = 'xiaoxinnv'
s1=s.split('i',2)
print(s1)


# join联合   (list->str)
s = ['', 'iub', 'ao', 'i']
s1=''.join(s)
print(s1)


# count,判断某个字符出现的次数
s = 'xiaoxiannv'
s1=s.count('i')
print(s1)


# format,格式化
s = '我叫{}来自{}今年{}岁'.format('xiaoxiannv','山西','20')
print(s)

# format,格式化
s = '我叫{0}来自{1}今年{2}岁hh{0}'.format('xiaoxiannv','山西','20')
print(s)

# format,格式化
s = '我叫{name}来自{diqu}今年{age}岁'.format(diqu='山西',age='20',name='xiaoxiannv')
print(s)

字符串补充

#capitalize首字母大写,其余小写
s1='baoBao'
s2=s1.capitalize()
print(s2)
得:
Baobao

#大写变小写,小写变大写
s1='baoBAo'
s2=s1.swapcase()
print(s2)
得:
BAObaO

#每个单词首字母大写(如果字符串里面有不是字母的元素,那么那个元素后面的字母也是大写)
s1='bao be'
s2=s1.title()
print(s2)
得:
Bao Be

#居中
s1='xiaoxiannv'
s2=s1.center(10,'*')  #返回长度为width(10)的居中字符串,填充是使用指定(*)的填充字符完成的(默认是空格)。
print(s2)
得:
**xiaoxiannv***

#将大写全部小写
s1='XIAOXIANNV'
s2=s1.casefold()
print(s2)

# find  通过元素找索引,失败时返回-1
s = 'xiaoxiannv'
s7=s.find('i',2,6)    #如果不限制返回则从左到右依次寻找,找到一个则停止,不在继续
print(s7)

# 4.index  通过元素找索引,失败时报错
s = 'xiaoxiannv'
s7=s.index('i')    #如果不限制返回则从左到右依次寻找,找到一个则停止,不在继续
print(s7)

posted @ 2021-06-03 17:07  刘家小仙女  阅读(54)  评论(0编辑  收藏  举报