《瘋狂Python》學習第2課

2021-09-28 10:13:44 字數 2814 閱讀 3230

位元組串(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 支援如下標誌。

-: 指定左對齊。

+: 表示數值總要帶著符號(正數帶「+」 ,負數帶" -")。

0:表示不補充空格, 而是補充0 。

對於轉換浮點數, python 還允許指定小數點後的數字位數:如果轉換的是字串, python 允許指定轉換後的字串的最大字元數。這個標誌被稱為精度值,該精度值被放在最小寬度之後,中間用點()隔開。

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...