人生苦短,我用Python 學習筆記——第四天__Python

來源:互聯網
上載者:User

1 格式化輸出
格式化字元 轉換方式
%c 轉換成字元(ASCII 碼值,或者長度為一的字串)
%ra 優先用repr()函數進行字串轉換
%s 優先用str()函數進行字串轉換
%d / %i 轉成有符號十進位數
%ub 轉成無符號十進位數
%ob 轉成無符號八位元
%xb/%Xb (Unsigned)轉成無符號十六進位數(x/X 代錶轉換後的十六進位字元的大
小寫)
%e/%E 轉成科學計數法(e/E 控制輸出e/E)
%f/%F 轉成浮點數(小數部分自然截斷)
%g/%G %e 和%f/%E 和%F 的簡寫
%% 輸出%
格式化操作符輔助指令
符號 作用
* 定義寬度或者小數點精度
- 用做靠左對齊
+ 在正數前面顯示加號( + )
<sp> 在正數前面顯示空格
# 在八位元前面顯示零('0'),在十六進位前面顯示'0x'或者'0X'(取決於
用的是'x'還是'X')
0 顯示的數字前面填充‘0’而不是預設的空格
% '%%'輸出一個單一的'%'
(var) 映射變數(字典參數)
m.n m 是顯示的最小總寬度,n 是小數點後的位元(如果可用的話)
例如
>>> "%x" % 108
'6c'
>>>
>>> "%X" % 108
'6C'
>>>
>>> "%#X" % 108
'0X6C'

原始字串操作符( r/R )
這個'r'可以是小寫也可以是大寫,唯一的要求是必須緊靠在第一個引號前.
在三個例子的第一個例子裡面,我們需要一個反斜線加一個'n'來而不是一個分行符號.:
>>> '\n'
'\n'
>>> print '\n'
>>> r'\n'
'\\n'
>>> print r'\n'
\n

Table 6.7 反斜線開頭的逸出字元
/X 八進位 十進位 十六進位 字元 說明
\0 000 0 0x00 NUL Null 字元Nul
\a 007 7 0x07 BEL 響鈴字元
\b 010 8 0x08 BS 退格
\t 011 9 0x09 HT 橫向定位字元
\n 012 10 0x0A LF 換行
\v 013 11 0x0B VT 縱向定位字元
\f 014 12 0x0C FF 換頁
\r 015 13 0x0D CR 斷行符號
\e 033 27 0x1B ESC 轉義
\" 042 34 0x22 " 雙引號
\' 047 39 0x27 ' 單引號
\\ 134 92 0x5C \ 反斜線
三引號
雖然你可以用單引號或者雙引號來定義字串,但是如果你需要包含諸如分行符號這樣的特
殊字元時,單引號或者雙引號就不是那麼方便了。Python 的三引號就是為瞭解決這個問題的,
它允許一個字串跨多行,字串中可以包含分行符號、定位字元以及其他特殊字元
>>> a=''' a\nbc'''
>>> print a
 a
bc
>>>
……
字串不變性>>> 'abc' + 'def'
'abcdef'
給變數賦值是沒什麼不同:
>>> s = 'abc'
>>> s = s + 'def'
>>> s
'abcdef'
上面的例子裡,看起來是我們先把"abc"賦給了s,然後在s 的末尾添加了"def".這樣看起
來字串似乎是可變的,其實事實是在"s+'def""這個操作進行的時候,建立了一個新字串,
然後這個新的對象被賦給了s,原來的字串'abc'被析構掉了


Unicode
與字串類型有關的模組
模組 描述
string 字串操作相關函數和工具,比如Template 類.
re Regex:強大的字串模式比對模組
struct 字串和二進位之間的轉換
c/StringIO 字串緩衝對象,操作方法類似於file 對象.
base64 Base 16,32,64 資料編解碼
codecs 解碼器註冊和基類
crypt 進行單方面加密
diffliba 找出序列間的不同
hashlibb 多種不同安全雜湊演算法和資訊摘要演算法的API
hmac HMAC 資訊鑒權演算法的Python 實現
md5d RSA 的MD5 資訊摘要鑒權
rotor 提供多平台的加解密服務
shad NIAT 的安全雜湊演算法SHA
stringprepe 提供用於IP 協議的Unicode 字串
textwrape 文本打包和填充
unicodedata Unicode 資料庫

字串關鍵點總結

在Python 中最常用兩個引號是單引號(')和雙引號(")。字串
的實際內容是這些單引號(')或者雙引號(")之間的字元,不包括引號本身.
可以用兩種引號來建立字串是很有益處的,因為是當你的字串中包含單引號時,如果
用單引號建立字串,那麼字串中的雙引號就不需要轉義。反之亦然
字串格式化操作符 ( % )提供類似於printf()那樣的功能.
字串格式化操作符(見6.4.1 節)提供了一種基於多種輸入類型的建立自訂字串的靈
活方式.它也提供了類似於C/C++世界裡的格式化操作的介面.
三引號
在6.7.2 節裡面,我們介紹了三引號,在三引號字串中可以包含諸如換行斷行符號或者tab 鍵
這樣的特殊字元.三引號字串是用兩邊各三個單引號(''')或者兩邊各三個雙引號(""")來定
義的.
原始字串對每個特殊字元串都使用它的原意
第6.4.2 節中,我們講述了原始字串,並且討論了它們並不通過反斜線轉義特殊字元的特
性.這個特性使得原始字串非常適用於那些需要字串原意的場合,比如在定義一個正則表達
式時.
Python 字串不是通過NUL 或者'\0'來結束的
C 編程的一個主要問題是你訪問了一個字串後面的本不屬於你的空間,這種情況發生在你
沒有在字串末尾添加終結符,NUL 或者'\0'(ASCII 值為0)的時候.Python 不僅為你自動管理內
存,而且也把C 的這個負擔或者說是小麻煩去掉了.Python 中的字串不是以NUL 結束的,所以
你不需要為是否已經添加終結符擔心.字串中只包含你所定義的東西,沒有別的.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.