day10(字符串)

DAY10学习总结:

字符串相关函数:

  1. 相关函数(len str eval)

    • str(数据) —— 将指定数据转换成字符串(数据可以是任何类型,转的时候是直接将数据的打印值直接加引号)
    • eval(字符串) —— 计算字符串表达式的结果
  2. 如果在一个字符串前头加 r/R,可以让字符串中的所以转义字符功能消失,变成普通字符。

    • str1=r'\\a123456'    # \\a123456
      

字符串相关方法:

  1. 字符串.join(序列) — 将序列中的元素用指定字符串拼接成新的字符串(序列中的元素必须是字符串)

    • list1=['name','age','gender']
      result='+'.join(list1)       # name+age+gender
      
  2. split

    • 字符串1.split(字符串2) —— 将字符串1所有的字符串2作为切割点

    • 字符串1.split(字符串2,N) —— 将字符串1中N个字符串2作为切割点

    • 字符串1.rsplit(字符串2,N) —— 将字符串1中N个字符串2作为切割点,但是是从后往前切

    • 注:切割点在开头或者结尾或者连续出现切割点,则开头或结尾及连续切割点中间会返回一个空串

    • str1='abc*123*XYZ'
      result=str1.split('*')      # ['abc', '123', 'XYZ']
      result2=str1.split('*',1)   # ['abc', '123*XYZ']
      result3=str1.rsplit('*',1)  # ['abc*123', 'XYZ']
      
  3. replace

    • 字符串1.replace(字符串2,字符串3) —— 将字符串1中的字符串2全部替换成字符串3

    • 字符串1.replace(字符串2,字符串3,N) —— 将字符串1中的N个字符串2替换成字符串3

      str1='how are you ? I am fine,thank you,and you!'
      str2=str1.replace('you','me')       # how are me ? I am fine,thank me,and me!
      str3=str1.replace('you','me',1)     # how are me ? I am fine,thank you,and you!
      
  4. translate

    • str.maketrans(字符串1,字符串2) —— 创建一个字符串1和字符串2的对应表

    • 字符串.translate(字符对映表) —— 按照字符对映表的关系将字符进行替换

    • str1='今天星期1,昨天星期2,喜欢星期5的晚上,讨厌星期7的晚上'
      table=str.maketrans('1234567','一二三四五六七')
      result=str1.translate(table)
      print(result)       # 今天星期一,昨天星期二,喜欢星期五的晚上,讨厌星期七的晚上
      
  5. 删除字符串两端的空白

    • 字符串.strip() —— 去掉两边的空白
    • 字符串.rstrip() —— 去掉右边的空白
    • 字符串.lstrip() —— 去掉左边的空白
  6. count —— 统计个数

    • 字符串1.count(字符串2) —— 统计字符串1中字符串2出现的次数

    • str1='how are you ? I am fine,thank you,and you!'
      str2=str1.count('you')
      print(str2)       # 3
      

格式字符串:

  1. 字符串拼接

    • message=name+'今年'+str(age)+'岁'
      
  2. 格式字符串

    • 格式字符串:包含格式占位符的字符串%(数据1,数据2,数据3,…)

    • 注意:()中的数据必须和字符串中占位符一一对应

    • %s —— 字符串占位符,对应任何类型的数据

    • %d —— 整数占位符,可以对应任何数字

    • %f —— 浮点数占位符,对应任何数字

    • %Nf —— 浮点数占位符并且保留N位小数

    • 注:建议如果不控制小数位数可以全部使用%s

    • name='小米'
      gender='男'
      age=22
      money=5000
      str='%s,性别:%s,年龄:%d,月薪:%2f元' % (name,gender,age,money)
      print(str)
      
  3. f-string

    • 基本用法:f’{表达式}’ —— 将{}中表达式的值作为字符串内容拼接到字符串中

    • message=f'{name},性别:{gender},年龄:{age},月薪:{money}元'
      
    • 高级用法:f’{提供数据的表达式:参数}’

    • # a.控制小数位数的参数  ——  f'{表达式:.Nf}'
      money=228.10
      print(f'{money:.1f}')    # 228.1
      
      # b.金额数值加逗号即 180,000,000
      money=180000000
      print(f'{money:,}')
      print(f'{money:,.2f}')    # 180,000,000.00 (逗号后面加.Nf)
      
      # c.显示百分比
      f'{表达式:.N%}' —— 保留小数点后N位的百分数
      x=3/4
      print(f'{x:.2%}')    # 75.00%
      
      # d.控制长度
      f'{表达式:0>3}'0 > 3均可变化,0表示添加的东西,>表示在前面添加,3表示空出位数)
      num=int(input('输入一个小于1000的数字:'))
      result=f'py1901{num:*>3}'
      print(result)    参考day9作业题
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值