位元組串(bytes)由多個位元組組成,以位元組為單位進行操作。bytes 也是不可變序列。
bytes 物件只負責以宇節(二進位制格式)序列來記錄資料,至於這些資料到底表示什麼內容,完全由程式決定。
如果希望將乙個字串轉換成bytes 物件, 有如下三種方式。
1〉如果字串內容都是ascii 字元,則可以通過直接在字串之前新增b 來構建位元組串值。
2〉呼叫bytes()函式(其實是bytes 的構造方法)將字串按指定字符集轉換成位元組串,如果不指定字符集,預設使用utf - 8 字符集。
3〉呼叫字串本身的encode()方法將字串按指定宇符集轉換成位元組串,如果不指定字符集,預設使用utf- 8 字符集。
如果程式獲得了bytes 物件,也可呼叫bytes 物件的decode()方法將其解碼成字串
字串中可以使用反斜線進行轉義;如果字串本身包含反斜線,則需要使用「\\」表示,「\\」就是轉義字元。python支援的轉移字元表如下:
轉義字元
說明\b
退格符\n
換行符\r
回車符\t
製表符\』』
雙引號\』
單引號\\
反斜線python 提供了「%」對各種型別的資料進行格式化輸出
print 函式包含三個部分:
第一部分是格式化字串(它相當於字串模板),該格式化字串中包含乙個「 %s 」佔位符,它會被第三部分的變數或表示式的值代替;
第二部分固定使用「%」作為分隔符。
第三部分的變數或表示式的值。如果果格式化字串中包含多個「 %s 」佔位符,第三部分也應該對應地提供多個變數。
python提供了表1.2所示的轉換說明符
表1.2所示的轉換說明符
轉換說明符
說明d,i
轉換為帶符號的十進位制形式的整數
o轉換為帶符號的八進位制形式的整數
x ,x
轉換為帶符號的十六進製制形式的整數
e轉換為科學計數法表示的浮點數(e小寫)
e轉換為科學計數法表示的浮點數(e大寫)
f,f轉換為十進位制的浮點數
g智慧型選擇使用f或e格式
g智慧型選擇使用f或e格式
c轉換為單字元(只接受整數或單字元字串)
r使用repr()將變數或表示式轉換為字串
s使用str()將變數或表示式轉換為字串
當使用上面的轉換說明符時可指定轉換後的最小寬度。**示例如下:
num =-28
print
("num is : %6i"
,% num)
輸出結果如下:
num is:-
28
在預設情況下, 轉換出來的字串總是右對齊的, 不夠寬度時左邊補充空格。python 也允許在最小寬度之前新增乙個標誌來改變這種行為, python 支援如下標誌。
-: 指定左對齊。對於轉換浮點數, python 還允許指定小數點後的數字位數:如果轉換的是字串, python 允許指定轉換後的字串的最大字元數。這個標誌被稱為精度值,該精度值被放在最小寬度之後,中間用點()隔開。+: 表示數值總要帶著符號(正數帶「+」 ,負數帶" -")。
0:表示不補充空格, 而是補充0 。
my_value =
3.001415926535
print
("my_value is : %+08.3f"
% my_value)
#最小寬度為8 , 小數點後保留3位, 左邊補0 ,始終帶符號
the_name =
"charlie"
#只保留2 個字元,最小寬度為10
print
('the_name is : %10.2s'
% the_name)
輸出結果:
my_value is : +
003.001
the_name is
: ch
字串本質上就是由多個字元組成的,因此程式允許通過索引來操作字元。python 字串直接在方括號( [])中使用索引即可獲取對應的字元, 字串中第乙個字元的索引為0 、第二個字元的索引為1,後面各字元依此類推。此外, python 也允許從後面開始計算索引,最後乙個字元的索引為-1,倒數第二個字元的索引為-2······依此類推。
s =
'crazyit.org is very good '
#輸出前五個字元,輸出字元的下標到4
print
(s[0:5
])
輸出結果:
crazy
python 字串還支援用in 運算子判斷是否包含某個子串。例如如下**。
print
('very '
in s)
#輸出結果true
如果要獲取字串的長度,則可呼叫python 內建的len()函式。例如如下**。
print
(len
(s))
#輸出結果25
還可使用全域性內建的min()和max()函式獲取字串中最小字元和最大字元。例如如下**。`
print
(max
(s))
# z#輸出s 字串中的最小字元
print
(min
(s))
#空格
《瘋狂Python》學習第1課
python 使用井號 表示單行注釋 python 程式中使用三個單引號或三個雙引號將注釋的內容括起來。python 是弱型別語言,弱型別語言有兩個典型特徵。1 變數無須宣告即可直接賦值 2 變數的資料型別可以動態改變 type 函式可以檢視變數的型別 1.2.2使用print函式輸出變數 在預設情...
python學習 第8課
函式命名時,由多個單詞拼接時,函式首字母小寫,從第二個單詞開始,首字母為大寫,即函式命名為駝峰樣式 def hello print hello world def newhello print this is new hello world 裝飾器接收乙個功能,新增一些功能並返回。python中的一...
python學習 第14課
1.將ga10.wms5.jd.com.txt中分別以upstream和location開頭的內容篩選出來,並分別生成相應的新文件 import codecs,re,os with codecs.open ga10.wms5.jd.com.txt r as f1 pattern1 re.compil...