练习7(str)

练习7

 对字符串的下面这两部分操作:形成的都是一个新的字符串,与原来的字符串没有关系。
 第一部分:索引切片步长。
 按照索引取值,取出来的都是一个字符,形成的字符串。
 s1 = 'python1期骑士计划'
 s2 = s1[0]
  print(s2,type(s2))
 s3 = s1[2]
 print(s3)
 s4 = s1[4]
 s5 = s1[-1]
  print(s4)
 print(s5)
 print(s1[-2])
 按切片取值,顾头不顾腚
 s5 = s1[0:6]
 s51 = s1[:6]
  print(s5,s51)
  print(s1[1:7])
 s6 = s1[6:-1]
 s61 = s1[6:]
 s62 = s1[6:-2]
 print(s6,s61,s62)

 按照切片+步长
 s7 = s1[:5:2]
 print(s7)
 s8 = s1[1::2]
 print(s8)
 如果想倒叙取值,加一个反向步长(负号)。
 s9 = s1[-1:-5:-1]
 s10 = s1[-1:-6:-2]
 print(s9,s10)






 第二部分:字符串的常用方法。
name = 'oldBoy'
 capitalize() 首字母大写  ***
 print(name.capitalize())

 center 字符串居中前后填充自定义的字符  **
 print(name.center(20,'*'))

 upper:全大写 lower  *****
 print(name.upper())
 print(name)
 print(name.lower())
 应用举例:
 username = input('请输入用户名:')
 code = 'ADfer'.upper()
 your_code = input('请输入验证码:').upper()
 print(code, your_code)
  if username == 'alex' and (your_code == 'ADFER' or ..or....
 if username == 'alex' and your_code == code:
     print('账号密码及验证码输入正确')

 startswith  endswith  *****
 print(name.startswith('o'))
 print(name.startswith('ol'))
 print(name.startswith('B',3))
 print(name.startswith('B',3))
 print(name.startswith('ld', 1, 5))
 print(name.startswith('oldBOy'))
 print(name.endswith('o'))

 swapcase 大小写翻转 **
 print(name.swapcase())
 s1 = 'alex wusir*taibai6nvshen'

  title 非字母隔开的每个部分的首字母大写  **
 print(s1.title())

 find  通过元素找索引,找到第一个就返回,没有此元素则返回-1  *****
 index 通过元素找索引,找到第一个就返回,没有此元素则报错 *****
 print(name.find('B'))
 print(name.find('ld'))
 print(name.find('o'))
 print(name.find('d',1,-1))
 print(name.index('q'))

 name = '\t    oldboy\n'
 print(name)
 strip 默认去除字符串前后的空格,换行符,制表符  *****
 name1 = '*alex**'
 name2 = 'weralexwqwe'
 print(name.strip())
 print(name1.strip('*'))
 print(name2.strip('erw'))   可以指定字符
 lstrip() rstrip()  课下练习
 举例:
 username = input('请输入用户名:').strip()   'alex '
 if username == 'alex':
     print('登陆成功...')


 split   将字符串分割成列表(str---> list)
 s1 = 'alex wusir taibai'
 l1 = s1.split()  默认按照空格分隔
 print(l1)
 s2 = 'alex,wusir,taibai'
 print(s2.split(','))
 s3 = ',alex,wusir,taibai'
 print(s3.split(','))
 s4 = ' alex wusir taibai'
 print(s4.split(' '))
 s5 = 'alexlwle'
 print(s5.split('l',1))  可设置分割次数
 课下自己练习:
 print(s5.rsplit())

 str1 = 'alex'
  join 自定制连接符,将可迭代对象中的元素连接起来 *****
 s2 = '*'.join(str1)
 s2 = '_'.join(str1)
 print(s2)

 str2 = 'alex 是创始人,alex很nb,alex ....'
  replace  *****
  s3 = str2.replace('alex','SB')
 s3 = str2.replace('alex','SB',1)   替换次数可设置
 print(s3)


 格式化输出:format
 s1 = '我叫{},今年{},性别{}'
 三种方式
 第一种
 s2 = '我叫{},今年{},性别{}'.format('太白','28','男')
 print(s2)
 第二种
 s3 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('太白', '28', '男')
 print(s3)

 第三种
 s4 = '我叫{name},今年{age},性别{sex}'.format(age='28', name='太白', sex='男')
 print(s4)


 is 系列
 name = 'taibai'
 name1 = 'a123'
 print(name.isalnum())   数字或字母组成
 print(name1.isdigit())   判断全部是由整数组成
 print(name.isalpha())   全部由字母组成

 公共方法
 name = 'alexaaa'
  print(name.count('a'))   有切片
 print(len(name))

 s1 = 'fdjsafjsdkla'
 i = 0
 while 1 < len(s1)
 	print(s1[i])
 	i += 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值