day4 字符串的使用方法

一、字符串切片

索引和切片 [起始位置:结束位置:步长]

复制代码
s1 = 'python全栈8期'
# 索引从0开始[索引(下标,index)]
print(s1[0])
print(s1[3])
print(s1[5])
print(s1[-1])  # -1最后一个
# 切片 顾头不顾尾
print(s1[0:6])
print(s1[6:10])
print(s1[6:100])  # 索引超出部分不会报错
print(s1[6:])  # 不写默认到最后
# 取pto
print(s1[0:5:2])
# 取ph全
print(s1[0:7:3])

# 倒取值加步长
# 取nhy
print(s1[5:0:-2])
# 取htyp
print(s1[3::-1])

print(s1)  # 不变
复制代码

二、字符串的使用

复制代码
ret = 'alexS'
# capitalize首字母大写,其它都变小写
print(ret.capitalize())

# upper全部大写,lower全部小写
print(ret.upper())
print(ret.lower())

# code = 'AasD'
# your_code = input('请输入验证码,不区分大小写:')
# if your_code.upper() == code.upper():
#     print('输入正确')
# else:
#     print('请重新输入')

# swapcase大小写反转
print(ret.swapcase())

# title每个单词首字母大写,其它小写
ret1 = 'alex jin wu'
print(ret1.title())

# center,指定长度居中,还可指定填充物
print(ret.center(20))  # 填充物默认为空
print(ret.center(20,'*'))  # *******alexS********

# startswith以什么开头,endswith以什么结尾,返回布尔值
print(ret.startswith('a'))
print(ret.startswith('ale'))
print(ret.endswith('S'))
print(ret.endswith('xS'))

print(ret.startswith('le',1,3))  # 切片

# count计算出现次数
ret2 = 'alexS,aeeQ'
print(ret2.count('a'))
print(ret2.count('ale'))  # 整体
print(ret2.count('W'))    # 0
print(ret2.count('a',0,4))  # 前4个元素中有几个a

# expandtabs默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个,则补全至16
a = 'qwa\t'
print(a.expandtabs(),len(a.expandtabs()))

# find通过元素找到索引,找不到返回-1,只会找到第一个的索引,后面的不管
print(ret.find('a'))
print(ret.find('e',0,2))  # 找不到返回-1

# index,和find用法一样,找不到会报错
#print(ret.index('d'))

# strip,去除字符串前后的空格、制表符、换行符,可指定去除的内容
ret3 = '    alex   '.strip()
print(ret3)
ret3 = '    alex   '.lstrip()  # 去除左边的空格
print(ret3)
ret3 = '    alex   '.rstrip()  # 去除右边的空格
print(ret3)
ret3 = 'askkfa'.strip('a')
print(ret3)
ret3 = 'asakkfa'.strip('as')  # strip会便利每一个字符去除,但是不能被打断
print(ret3)

# split,以空格为分割条件,将字符串切分为列表,可指定分割条件,rsplit从右边往左分
ret4 = 'jinxin alex wusir'
ret5 = ret4.split()
print(ret5)

ret4 = 'jinxin,alex,wusir'
ret5 = ret4.split(',')
print(ret5)

ret4 = 'title tle tlie'
ret5 = ret4.split('t',1)  # 1表示分1次
print(ret5)

# replace替换
ret6 = 'abcdaef'
ret7 = ret6.replace('a','A',1)  # 1表示替换1次,不写全部替换
print(ret7)

# 格式化输出format
# 第一种
ret8 = 'name:{},sex:{},身高:{}'.format('alex','male',178)
print(ret8)
# 第二种
ret8 = 'name:{0},sex:{1},身高:{2}'.format('alex','male',178)
print(ret8)
# 第三种:键值对
ret8 = 'name:{name},sex:{sex},身高:{high}'.format(name='alex',sex='male',high=178)
print(ret8)

# 判断字符串由什么组成
name = 'jinxin123'
print(name.isalnum())  # 字符串由字母或数字组成
print(name.isalpha())  # 字符串只由字母组成
print(name.isdigit())  # 字符串只由数字组成
posted @ 2017-10-23 21:20  邯城吴彦祖  阅读(140)  评论(0编辑  收藏  举报