Python學習之路13——字串2

來源:互聯網
上載者:User

標籤:python   編程   語言   

1隻適用與字串的操作符1.1格式化操作符(%)Python風格的字串格式操作符。只適用與字串類型,非常類似於C語言中的printf()函數的字串格式化,都是用%,並且支援所有的printf()的格式化操作。字串格式化符合如下:

      %c                     轉換成字元(ASCII碼值,或者長度為一的字串)

      %r                     優先用repr()函數進行字串轉換

      %s                     優先用str()函數進行字串轉換

      %d、%i             轉換成有符號十進位

      %o                    轉換成無符號八進位

      %x、%X            轉換成無符號十六進位(Xx代錶轉換後的十六進位字元的大小寫)

      %e、%E            轉成科學計數法

      %f  %F              轉成浮點型(小數部分自然截斷)

      %g  %G             %e和%f/%E和%F的簡寫

      %%                   輸出%

格式化操作符輔助指令


Python支援兩種格式的輸入參數。第一種是元組,這是一種C printf()風格的轉換參數集;Python支援的第二種形式是字典形式。這種形式裡面,鍵是作為格式字串出現,相對應的值作為參數在進行轉化是提供給格式字串。下面是一些例子:
<span style="font-size:14px;">>>> '%x' % 108'6c'>>> '%X' % 108'6C'>>> '%#X' % 108'0X6C'>>> >>> '%.2f' % 1234.456789'1234.46'>>> '%E' % 1234.456789'1.234457E+03'>>> '%g' % 1234.456789'1234.46'>>> >>> '%+d' % 4'+4'>>> '%+d' % -4'-4'>>> 'host : %s\tPort: %d' % ('mars', 80)'host : mars\tPort: 80'>>> 'ss\t''ss\t'>>> # force on... >>> 'There are %(howmany)d %(lang)s Quotation Symbols' % {'lang':'Python', 'howmany':3}'There are 3 Python Quotation Symbols'>>> </span>

1.2字串模板:更簡單的替代品在字典形式的格式化中,程式員難免會出現遺漏轉換類型符號的錯誤。比如,用了%(lang)而不是%(lang)s。為了保證字串被正確的轉換,程式員必須明確的記住轉換型別參數。新式的字串模板的優勢是不用去記住所有的相關細節,而是像shell語言使用$。Template對象有兩個方法,substitute()和safe_substitute()。前者在key缺少的情況下他會報一個KeyError的異常出來,而後者在缺少Key時,直接原封不動的把字串顯示出來。
>>> from string import Template       #匯入template對象>>> s = Template('There are ${howmany} ${lang} Quotation Symbols')>>> >>> print s.substitute(lang='Python', howmany=3)There are 3 Python Quotation Symbols>>> print s.substitute(lang='Python')Traceback (most recent call last):  File "<stdin>", line 1, in <module>  File "/usr/lib64/python2.7/string.py", line 172, in substitute    return self.pattern.sub(convert, self.template)  File "/usr/lib64/python2.7/string.py", line 162, in convert    val = mapping[named]KeyError: 'howmany'>>> print s.safe_substitute(lang='Python', howmany=3)There are 3 Python Quotation Symbols>>> print s.safe_substitute(lang='Python')There are ${howmany} Python Quotation Symbols>>> 

1.3原始字串操作符(r/R)原始操作符的目的,是為了對付那些在字串中出現的特殊字元。在原始字串裡,所有的字元都是直接按照字面的意思來使用,沒有轉義特殊或不能列印的字元。
>>> '\n''\n'>>> print '\n'>>> r'\n''\\n'>>> print r'\n'\n>>> 

1.4 Unicode 字串操作符(u/U)它是用來把變音符號串或者是包含Unicode字元的字串轉換成完全的Unicode字串對象。
2內建函數cmp()內建的cmp()函數根據字串的ASCII碼值進行比較
>>> str1 = 'abc'>>> str2 = 'lmn'>>> str3 = 'xyz'>>> cmp(str1, str2)-1>>> cmp(str3, str1)1>>> cmp(str2, 'lmn')0>>> 

len()len()返回字串的字元數。
>>> len('test')4>>> 

max() and min()max() 和 min() 返回字串中最大和最小的值
>>> max('ad23xy')'y'>>> min('zyad')'a'>>> 

enumerate()
>>> s = 'foobar'>>> for i,t in enumerate(s):...     print i, t... 0 f1 o2 o3 b4 a5 r>>> 

zip()
>>> s,t = 'foo', 'bar'>>> zip(s,t)[('f', 'b'), ('o', 'a'), ('o', 'r')]>>> 

raw_input()使用給定字串提示使用者輸入並將這個輸入返回,
>>> username = raw_input('enter your name: ')enter your name: coder>>> username'coder'>>> len(username)5>>> 
Python裡面沒有C風格的結束字元NUL,你輸入多少個字元,就返回多少個字元。





Python學習之路13——字串2

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.