python进修笔记(三)

    添加时间:2013-5-14 点击量:

           字符串操纵


       字符串在任何一门说话都是一个重点,灵活应用可实现各类强大的功能,在python中,字符串也是如此,标准的序列操纵对字符串也应用,然则分片赋值不可,因为字符串是不成变的。


      字符串的格局化:


      字符串格局化应用字符串格局化操纵符%来实现,在%左侧放置一个字符串,右侧放置格局化的值。看下面这个简单的例子:



    >>> format=Hello,%s,Im studying %s!
    
    >>> values=(worldPython
    >>> print format % values
    Hello,world,I
    m studying Python!


      重视:若是应用列表或者其他列表庖代元组,那么序列就会被申明为一个值,只有元组和字典和格局化一个以上的值。


          %s标识表记标帜了须要插入转换值的地位,s默示会被转化为字符串,若是不是字符串,则会用str将其转换为字符串。别的,若是须要在格局化字符串里包含百分号,则必须应用%%。


      若是须要格局化实数,用f申明符类型,同时供给精度;一个据点再加上保存的小数位数。因为格局化申明符老是以默示类型的字符停止,所以精度应当放在类型字符前面:



    >>> format=PI with three decimals :%.3f
    
    >>> math import pi
    >>> print format % pi
    PI with three decimals :
    3.142


      格局化操纵符的右操纵数可所以任何器材,若是是元组或者映射类型(字典),则字符串的格局化略有不合。例如,若是右操纵数是元组,则此中每一个I元素都邑被零丁格局化,每个值都须要一个对应的转换申明符。(重视:若是须要转换的元组作为转换默示的一项目组存在,那么必须将它用圆括号括起来)



    >>> %s plus %s equals %s  %(1,1,2
    1 plus 1 equals 2


      当然,字符串格局化还有很多,比如填充和字宽和精度等,这些带用到时再去查也不迟,下面是一个关于字符串格局化一个较综合的例子,包含字宽和对齐等:











    width=inputPlease input width:

    price_width=10

    item_width=width-price_width

    header_format=%-s%s

    format =%-s%.2f

    print =  width

    print header_format  (item_width,Item,price_width ,Price

    print -  width

    print format  (item_width ,Apples,price_width ,0.4

    print format  (item_width ,Pears,price_width ,0.5

    print format  (item_width ,Cantaloupes,price_width ,1.92

    print format  (item_width ,Dried Apricots(16 oz.),price_width ,8

    print format  (item_width ,Prunes(4 lbs.),price_width ,12

    print =  width

    raw_inputenter any key to exit~~


    原来,再大的房子,再大的床,没有相爱的人陪伴,都只是冰冷的物质。而如果身边有爱人陪伴,即使房子小,床小,也觉得无关紧要,因为这些物质上面有了爱的温度,成了家的元素。—— 何珞《婚房》#书摘#
    分享到: