zoukankan      html  css  js  c++  java
  • python学习笔记(5-1)-基本数据类型-字符串类型及操作

    五、字符串处理函数

        len(x):字符串x的长度。如len("12345")结果为5

        str(x):任意类型x所对应的字符串形式。

    >>> str(123)
    '123'
    >>> str([1,2])
    '[1, 2]'

        hex(x)或oct(x):整数x的十六进制或八进制小写形式字符串。

        chr(x):x为Unicode编码,返回其对应的字符

        ord(x):x为字符,返回其对应的Unicode编码。Unicode编码,即统一字符编码,即覆盖几乎所有字符的编码方式(包括各个国家不同语言的不同字符,将不同语言同一起来,有一套对应的统一编码),从0到0x10FFFF空间大小,即从0到1114111个字符编码,每个编码对应一个字符,python字符串中的每个字符都是Unicode编码字符。我们看一些有趣的例子:

    >>> "1+1 = 2" + chr(10004)
    '1+1 = 2✔'
    这里对号对应的unicode编码为10004 >> "金牛星座符号的unicode值是:" + str(ord("♉")) '金牛星座符号的unicode值是:9801' >>> for i in range(12): print(chr(9800 + i), end="") ♈♉♊♋♌♍♎♏♐♑♒♓
    这里要注意这个end="",加上它,表示字符不换行,否则会换行。 >>> for i in range(3): print(chr(9800 + i)) ♈ ♉ ♊

    六、字符串处理方法

    str.lower()或者str.upper():返回字符串的副本,全部字符小写或大写

    >>> "ABCdsf".lower()
    'abcdsf'
    >>> "abcECF".upper()
    'ABCECF'

    str.split(sep=None):返回一个列表,由str根据sep被分隔的部分组成,返回为一个列表类型

    >>> "A,B,C,D,E,F,".split(",")
    ['A', 'B', 'C', 'D', 'E', 'F', '']

    str.count(sub):返回子串sub在str中出现的次数

    >>> "what day is it today".count("a")
    3

    str.replace(old,new):返回字符串str副本,所有old子串被替换为new

    >>> "abc".replace("a","what")
    'whatbc'

    str.center(width[,fillchar]):字符串str根据宽度width居中,fillchar可选,为填充的字符。默认填充空格

    >>> "python".center(20)
    '       python       '
    >>> "python".center(20,"-")
    '-------python-------'

    str.strip(chars):从str中去掉在其左侧和右侧chars中列出的字符

    >>> "*:audit-2-7-5.x86.rpm".strip("*:.x86rpm")
    'audit-2-7-5'

    str.join(iter):在iter变量除最后元素外每个元素后增加一个str

    >>> ",".join("12345")
    '1,2,3,4,5'

    七、字符串类型的格式化

    <模板字符串>.format(<逗号分隔的参数>)

        我们把将要格式话的字符串用{}槽来表示,按照默认顺序来进行格式化,从0开始,也可以自己定义格式化的顺序,如下:

    >>> "{}:CPU{}的CPU占用率为{}%".format("log", 1, 20)
    'log:CPU1的CPU占用率为20%'
    >>> "{1}:CPU{0}的CPU占用率为{2}%".format(1,"log",20)
    'log:CPU1的CPU占用率为20%'

    format方法的格式控制

    :<填充><对齐><宽度><,><.精度><类型>

    :为引导符号,对应format中的第几个参数,如果为空,表示按顺序对应,从0开始; 

    <填充>用于填充的单个字符;<对齐>对齐方式,<左对齐  >右对齐  ^居中对齐;<宽度>槽设定的输出宽度;前面三个为字符串的操作,主要是用来排版对齐,这种对齐填充方式,对于排版来说非常方便有用。format中的参数为数字也是可以的。

    >>> "{:=^20}".format("python")
    '=======python======='
    >>> "{:*<20}python".format("BIT")
    'BIT*****************python'
    >>> "{:10}".format("BIT")     ‘'''默认填充空格'''
    'BIT       '
    >>> "{:<<10}".format("BIT")    '''第一个参数为填充,第二个为对齐方式'''
    'BIT<<<<<<<'

    <,>数字的千位分隔符;<.精度>浮点数或小数精度或字符串最大输出长度;<类型>整数类型:b,c,d,o,x,X  浮点数类型:e,E,f,% ; 后面三个为数字的操作,我们看一些列子:

    >>> "{:,.2f}".format(12345.456)
    '12,345.46'
    >>> "{0:b}, {0:c}, {0:d}, {0:o}, {0:x}, {1:X}".format(425, 426)
    '110101001, Ʃ, 425, 651, 1a9, 1AA'           '''分别对应,二进制,字符,十进制,八进制,十六机制小写,十六进制大写'''
    >>> "{0:e}, {0:E}, {0:f}, {0:%}".format(3.14)
    '3.140000e+00, 3.140000E+00, 3.140000, 314.000000%'   '''最后一个为 输出百分号形式''' 

    当宽度为变量时,可以以槽来表示,看如下这个例子,输出为以*组成的等边三角形。

    #test4.py
    n=int(input())
    for i in range(n+1)[1::2]:
      print("{: ^{}}".format("*"*i,n))

    结果为

      *  
     *** 
    *****
  • 相关阅读:
    Ubuntu下UFW防火墙简单设置
    ubuntu设置tomcat开机自动启动
    ubuntu16.04编辑器vi的使用
    Several ports (8005, 8080, 8009) required
    JavaScript检测浏览器(Firefox、IE)是否安装指定插件
    mongo 初级使用
    @Scheduled(cron = "0 0 * * * ?")实现定时任务
    Calendar时间类型数据设置
    Maven+STS工程中Maven Dependencies 文件夹丢失问题
    redis安装以及远程连接
  • 原文地址:https://www.cnblogs.com/xingmuxin/p/8805755.html
Copyright © 2011-2022 走看看