• python学习(三) 使用字符串


                                                                                               第三章 使用字符串

    3.1 基本字符串操作

    序列操作(索引,分片,乘法,判断成员资格,长度,最大值,最小值)都适用于字符串,但是字符串是不可变的,所以分片赋值是不合法的。

    3.2 字符串格式化:精简版

    %是字符串格式化操作符

    用法:在%左侧放置一个字符串(格式化字符串),右侧放希望被格式化的值。可以使用一个值(比如一个字符串或数字),也可以使用多个值的元组或者字典。

    >>> print( "%s is %s years old" % ("fsdfsd", 56))
    fsdfsd is 56 years old

    >>> format = " %s is %s years old"
    >>> values = ("robin",34)
    >>> print(format % values)
    robin is 34 years old

    注意:只有元组和字典可以格式化一个以上的值,如果使用列表或其他序列代替元组,那么序列将会被解释成为一个值。

    >>> print( "%s is %s years old" % (["fsdfsd", 56],45))
    ['fsdfsd', 56] is 45 years old

    注意:如果要在格式化字符串中包括百分号,那么必须使用%%

    如果要格式化实数(浮点数),可以使用f说明转换说明符的类型,同时提供精度,一个句点再加上希望保留的小数位数:

    >>> format = "PI with three decials: %.3f"
    >>> from math import pi

    >>> print(format % pi)
    PI with three decials: 3.142

    3.3 字符串格式化:完整版

    如果右操作数是元组或字典的话,其中每一个元素都会被单独格式化,每一个值都需要一个转换说明符。

    >>> "%s %s %s" % (1,2,3)
    '1 2 3'

    3.3.1 简单转换

    >>> "%d" % 42
    '42'

    >>> "%x" % 42
    '2a'

    >>> "%f" % pi
    '3.141593'

    3.3.2 字段宽度和精度

    字段宽度:转换后的值所保留的最小字符个数。

    精度:结果的小数位数

    >>> "%10.2f"% pi    // 宽度是10,精度是2
    ' 3.14'

    3.3.3 符号,对齐和用0填充

    >>> '%010.2f' % pi     // 宽度是10,用0填充
    '0000003.14'

    >>> "%-10.2f" % pi     // 左对齐
    '3.14         '

    >>> "% 5d" % 10     // 空格,表示正数前面加空格。
    '     10'            

    >>> "%+5d" % 10    // + 号,表示不管是正负数,都显示符号
    ' +10'

    3.4 字符串方法

    3.4.1 find    查找子串的位置,如果没有返回-1

    >>> "fsdfsdfsdfdsf".find("fsd")  
    0

    >>> "fsdfsdfsdfdsf".find("fsd",1,5)   // 提供起始点和结束点(注意:包含前一个索引,不包含后一个索引,这是Python的惯用  -1                                                          法)。

    rfind()  /  index()  / rindex()  /count() / startswith()  / endswith()

    3.4.2 join 连接序列中的元素

    连接的序列必须是字符串

    >>> "abc".join("de")
    'dabce'

    3.4.3 lower 返回字符串的小写 字母版本

    >>> "ABc".lower()
    'abc'

    >>> "sdfdfds".capitalize()   // 首字母大写
    'Sdfdfds'

    >>> "Abc".swapcase()       // 大写变小写,小写变大写
    'aBC'

    'Fdsfsd'
    >>> "abc def ght".title()          // 所有单词的首字母大写
    'Abc Def Ght'

    upper()                       // 大写

    3.4.4 replace  字符串的所有匹配项均被替换

    >>> "This is a test".replace("is", "eez")
    'Theez eez a test'

    3.4.5 split  join 方法的逆方法

    >>> "I am robin".split(" ")
    ['I', 'am', 'robin']

    3.4.6 strip  去除两侧(不包含内部)的空格的字符串

    >>> " fsf asfa ".strip()
    'fsf asfa'

    3.4.7 translate

    和replace类似,不同的地方是只替换单个字符

                        

     

  • 相关阅读:
    音视频之PCM转WAV(八)
    音视频之播放YUV数据(十二)
    音视频之视频录制(十)
    报错error: missing D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS
    Vue组件广告滚动
    配置Vue中@符,出现路径提示
    iOS WKWebView后台崩溃问题排查
    vue element 静态分页
    vue Vue __ob__: Observer 取值
    csdn 复制代码
  • 原文地址:https://www.cnblogs.com/liufei1983/p/7217139.html
Copyright © 2020-2023  润新知