python学习笔记(七):字符串(四)

    xiaoxiao2021-03-25  74

    字符串(四)

    ·字符串格式化输出

    字符串格式化输出,就是要先制定一个模板,在这个模板中某个或者某几个地方留出空位来,然后在那些空位填上字符串。那么,那些空位,需要用一个符号来表示,这个符号通常被叫做占位符(仅仅是占据着那个位置,并不是输出的内容)。

    In [29]: "i like %s" %"china"

    Out[29]: 'i like china'

    在这个字符串中,有一个符号:%s,就是一个占位符,这个占位符被其它的字符串“china”代替。

    另外,不同的占位符,会表示那个位置应该被不同类型的对象填充。下面列出许多,供参考。不过,不用记忆,常用的只有%s%d,或者再加上%f,其它的如果需要了,到这里来查即可。

    占位符

    说明

    %s

    字符串(采用str()的显示)

    %r

    字符串(采用repr()的显示)

    %c

    单个字符

    %b

    二进制整数

    %d

    十进制整数

    %i

    十进制整数

    %o

    八进制整数

    %x

    十六进制整数

    %e

    指数 (基底写为e)

    %E

    指数 (基底写为E)

    %f

    浮点数

    %F

    浮点数,与上相同

    %g

    指数(e)或浮点数 (根据显示长度)

    %G

    指数(E)或浮点数 (根据显示长度)

    还可以在一个字符串中设置多个占位符。

    In [31]: "i like %s , Chaojun Shi lives in %s." %("China","He bei")

    Out[31]: 'i like China , Chaojun Shi lives in He bei.'

    对于浮点数字的打印输出,还可以限定输出的小数位数和其它样式。

    In[32]: "pi equal %.2f" % 3.1415926

    Out[32]:'pi equal 3.14'

    In[33]: "pi equal %+.2f" % 3.1415926

    Out[33]:'pi equal +3.14'

    关于类似的操作,还有很多变化,比如输出格式要宽度是多少等等。若在编程中遇到了,可以到网上查找,这里给一个参考图示。

     

    其实,上面这种格式化方法,常常被认为是太古老了。因为在python中还有新的格式化方法。

    In [51]: "I like{0}".format("python")

    Out[51]: 'I like python'

    这是python非常提倡的string.format()的格式化方法,其中{索引值}作为占位符,这种方法真的是非常好,而且非常简单,只需要将对应的东西,按照顺序在format后面的括号中排列好,分别对应占位符{}即可。

    ·常用的字符串方法

    字符串的方法很多。可以通过dir来查看:

    In [54]: dir(str)

    Out[54]:

    ['__add__',

     '__class__',

     '__contains__',

     '__delattr__',

     '__doc__',

     '__eq__',

     '__format__',

     '__ge__',

     '__getattribute__',

     '__getitem__',

     '__getnewargs__',

     '__getslice__',

     '__gt__',

     '__hash__',

     '__init__',

     '__le__',

     '__len__',

     '__lt__',

     '__mod__',

     '__mul__',

     '__ne__',

     '__new__',

     '__reduce__',

     '__reduce_ex__',

     '__repr__',

     '__rmod__',

     '__rmul__',

     '__setattr__',

     '__sizeof__',

     '__str__',

     '__subclasshook__',

     '_formatter_field_name_split',

     '_formatter_parser',

     'capitalize',

     'center',

     'count',

     'decode',

     'encode',

     'endswith',

     'expandtabs',

     'find',

     'format',

     'index',

     'isalnum',

     'isalpha',

     'isdigit',

     'islower',

     'isspace',

     'istitle',

     'isupper',

     'join',

     'ljust',

     'lower',

     'lstrip',

     'partition',

     'replace',

     'rfind',

     'rindex',

     'rjust',

     'rpartition',

     'rsplit',

     'rstrip',

     'split',

     'splitlines',

     'startswith',

     'strip',

     'swapcase',

     'title',

     'translate',

     'upper',

     'zfill']

     

    这么多,可以使用help()命令查看具体如何使用。例如:

    In [52]: help(str.zfill)

    Help on method_descriptor:

    zfill(...)

        S.zfill(width)-> string

        Pad a numericstring S with zeros on the left, to fill a field

        of thespecified width.  The string S is nevertruncated.

    常用的几个举例:

    join拼接字符串

    split 将字符串根据某个分割符进行分割。

    Strip去掉字符串的左右空格

    Istrip去掉字符串的左边空格

    Rstrip去掉字符串的右边空格

    S.upper() #S中的字母大写

    S.lower() #S中的字母小写

    S.capitalize() #首字母大写

    S.isupper() #S中的字母是否全是大写

    S.islower() #S中的字母是否全是小写

    S.istitle() #S中字符串中所有的单词拼写首字母是否为大写,且其他字母为小写

     

     

    转载请注明原文地址: https://ju.6miu.com/read-32452.html

    最新回复(0)