• 字符类型及常用的函数


    一、概述

    • 字符串类型的表示
    • 字符串操作符
    • 字符串处理函数
    • 字符串处理方法
    • 字符串类型格式化

    二、字符串类型的表示

    • 由0个或多个字符组成的有序字符序列

      • 字符串由一对单引号或一对双引号表示:"请输入带有符号的温度值: "或者 'C'
      • 字符串是字符的有序序列,可以对其中的字符进行索引:"请""请输入带有符号的温度值: " 的第0个字符

      字符串有 2类共4种 表示方法

      • 由一对单引号或双引号表示,仅表示单行字符串:"请输入带有符号的温度值: "或者 'C'
      • 由一对三单引号或三双引号表示,可表示多行字符串

      三、字符串操作符

      3.1 由0个或多个字符组成的有序字符序列

    操作符及使用 描述
    x+y 连接两个字符串x和y
    n * x 或 x * n 复制n次字符串x
    x in s 如果x是s的子串,返回True,否则返回False

    四、字符串处理函数

    一些以函数形式提供的字符串处理功能

    函数及使用 描述
    len(x) 长度,返回字符串x的长度:len("一二三456") 结果为 6
    str(x) 任意类型x所对应的字符串形式:str(1.23)结果为"1.23" str([1,2])结果为"[1,2]"

    五、字符串内置方法

    一些以方法形式提供的字符串处理功能

    方法及使用 描述
    str.lower() 或 str.upper() 返回字符串的副本,全部字符小写/大写:"AbCdEfGh".lower() 结果为 "abcdefgh"
    str.split(sep=None) 返回一个列表,由str根据sep被分隔的部分组成 :"A,B,C".split(",") 结果为['A','B','C']
    str.count(sub) 返回子串sub在str中出现的次数:"a apple a day".count("a") 结果为 4
    str.replace(old, new) 返回字符串str副本,所有old子串被替换为new :"python".replace("n","n456") 结果为 "python456"
    str.center(width[,fillchar]) 字符串str根据宽度width居中,fillchar可选:"python".center(20,"=") 结果为 '=python='
    str.strip(chars) 从str中去掉在其左侧和右侧chars中列出的字符:"= python= ".strip(" =np") 结果为 "ytho"
    str.join(iter) 在iter变量除最后元素外每个元素后增加一个:str ",".join("12345") 结果为 "1,2,3,4,5" #主要用于字符串分隔等

    六、字符串类型的格式化

    格式化是对字符串进行格式表达的方式

    • 字符串格式化使用.format()方法,用法如下:<模板字符串>.format(<逗号分隔的参数>)
    • 字符串格式化使用f-string方法,用法如下:f<模板{<逗号分隔的参数>}字符串>

    6.1 f-string方法的格式控制

    {<参数序号> : <格式控制标记>}

    : <填充> <对齐> <宽度> <,> <.精度> <类型>
    引导符号 用于填充的单个字符 < 左对齐 > 右对齐 ^ 居中对齐 槽设定的输出宽度 数字的千位分隔符 浮点数小数 或 字符串最大输出长度 整数类型 b,c,d,o,x,X 浮点数类型e,E,f,%"{0:=^20}".format("PYTHON")
    "{0:=^20}".format("PYTHON")
    

    '=PYTHON='

    "{0:*>20}".format("BIT")
    

    '*********BIT'

    "{:10}".format("BIT")
    

    'BIT '

    "{0:,.2f}".format(12345.6789)
    

    '12,345.68'

    "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
    

    '110101001,Ʃ,425,651,1a9,1A9'

    "{0:e},{0:E},{0:f},{0:%}".format(3.14)
    

    '3.140000e+00,3.140000E+00,3.140000,314.000000%'

    七、单元小结

    • 正向递增序号、反向递减序号、<字符串>[M:N:K]
    • +、*、len()、str()、hex()、oct()、ord()、chr()
    • .lower()、.upper()、.split()、.count()、.replace()
    • .center()、.strip()、.join()、.format()格式化

    八、练习

    1. 进度条
    scale = 10
    start = time.perf_counter()
    for i in range(scale + 1):
        print(f'
    {((i/scale)*100): ^3.1f}%[{"*"*  i}->{"."*(scale-1-i)}]  {time.perf_counter()-start:.2f}s', end='')
        time.sleep(0.1)
    
    在当下的阶段,必将由程序员来主导,甚至比以往更甚。
  • 相关阅读:
    Apache Pulsar:实时数据处理中消息,计算和存储的统一
    在STICORP使用Apache Pulsar构建数据驱动的应用程序
    简介Apache Pulsar-下一代分布式消息系统
    新一代消息系统Apache Pulsar 2.1 重磅发布
    为什么透过链接服务器写入,速度会很慢
    在Windows7 下调试CodeSmith 注意事项
    魔幻的生活 荒诞的延续
    Git和Github的应用与命令方法总结
    SimpleDateFormat使用简析
    Java中Long与long的区别(转)
  • 原文地址:https://www.cnblogs.com/randysun/p/11197094.html
Copyright © 2020-2023  润新知