• Python3 学习第二弹: 字符串String


    字符串表示问题

        常见用法 ''"" 就不提了
        
        一些特殊用法
        三引号:接收多行字符串的输入
            >>>print('''Oh
            my God!''')
            Oh
            my God!
        三引号可以用来
        当然直接利用
    也可以表示换行
        
        反斜杠的运用:可以用来连接多行的语句
            >>>print("Oh 
            my God!")
            Oh my God!
            >>>1 + 2 + 
            4 + 5
            12
        
        关于路径用法:
        看一个例子:
            >>>path = 'C:
    abs'
            >>>path
            C:
    abs
            >>>print(path)
            C:
            abs
        值得注意的是,在idle(python shell)下的输出与print输出不一定相同
        因此可以看出path字符串并不是其真正路径,需要转义
            >>>print('C:\nabs')
            C:
    abs
        然而这样却是要加入很多双反斜杠,解决方法就是在字符串前加一个r,告诉解释器这是一个raw string,转义字符失效
            >>>print(r'C:
    abs')
            C:
    abs
        此外,python3的所有字符串都是unicode编码

      若需要输出ASCII编码String,可在字符串前面加 b
    'hello world'

    字符串格式化问题

        通过%来格式化字符串:
            >>>print("%10.2f" % 10.2)
                 10.20
        解释:
        %: 表示说明符的开始
        转换符号 -/+/0: -表示左对齐 +表示数字前加正负号 0表示转换后位数不够的位置用0填充
        最小字段宽度: 表示“整个”字符串的长度最少要有指定这么宽
        点.后表示精度值: 四舍五入
        转换类型: 与C++类似
            >>>print('%+010.2f' % 10.2)
            +000010.20
            >>>print('%*.*f' % (10,2,10.2))   #特殊用法,用*表示字段宽度或精度可以从元组参数中读取
                 10.20
    
        ADD:
            此外string模板还提供另一种格式化方法,模板字符串,类似于Unix中shell的变量替换
            >>>from string import Template
            >>>format = Template('Does $x love $y?')
            >>>format.substitute(x = 'cyl', y = 'lwt')
            'Does cyl love lwt?'
            其中x,y变量名可以任取,但是substitute时变量名必须都有参数,否则报错

    字符串常量

        string中有许多有用的字符串常量
          >>>import string
          >>>string.digits
          0123456789
        同理还有, letters,ascii_lowercase,ascii_uppercase,punctuation
        均为字面意思

    字符串方法

        (注意其中[]表示可选项的意思,python文档经常这样书写)
        简要叙述一下,均是比较简单易懂的
        1> s.find(substring[, start[, end]]) 查找字串
        2> s.join(seq) 用s作为分隔符来合并列表元素为整体字符串
            >>>seq = ['1', '2', '3']
            >>>'+'.join(seq)    #要注意seq规定必须是字符串的列表才可
            '1+2+3'
        3> s.lower() s.upper() 返回s的小写表示/大写表示
        4> s.replace(old, new) 返回s中old子串用new字串代替的字符串
        5> s.split(a) 以s中的a字串为分隔符获得各分割串的列表(join的反方法)
            >>>'1+2+3'.split('+')
            ['1','2','3']
        6> s.strip() 返回去除s两侧空格的字符串

    Add:

        7> tanslate()
        用于替换字符串中的单个字符
        首先需要制表
        >>> trans = str.maketrans('koe','mqg')
        {107: 109, 101: 103, 111: 113}
        >>> 'abkeompq'.translate(trans)
        'abmgqmpq'

  • 相关阅读:
    利用 SASS 简化 `nth-child` 样式的生成
    `http-equiv` meta 标签
    Currying 及应用
    理解 Redux 的中间件
    git clone 仓库的部分代码
    JavaScript Map 和 Set
    C++ 变量判定的螺旋法则
    CSS transition 的默认值
    `MediaDevices.getUserMedia` `undefined` 的问题
    MediaDevices.getUserMedia` undefined 的问题
  • 原文地址:https://www.cnblogs.com/Mathics/p/4007386.html
Copyright © 2020-2023  润新知