《Python編程快速上手——讓繁瑣的工作自動化》讀書筆記5

其實,寫這個是爲了督促自己看書……然後 ……其實沒有然後了,人一鬆懈下來,就……ε=(´ο`*)))唉

第六章 字符串操作

①處理字符串

先談一下轉義字符:

轉義字符 描述
\(在行尾時) 續行符
\\ 反斜槓符號
\' 單引號
\" 雙引號
\a 響鈴
\b 退格(Backspace)
\e 轉義
\000
\n 換行
\v 縱向製表符
\t 橫向製表符
\r 回車
\f 換頁
\oyy 八進制數,yy代表的字符,例如:\o12代表換行
\xyy 十六進制數,yy代表的字符,例如:\x0a代表換行
\other 其它的字符以普通格式輸出

之前但凡是牽涉到字符串,大都用的是單引號(C++裏用的是雙引號),但是如果字符串本身就有單引號怎麼辦?

比如:

That is Alice's cat.

難道還是用單引號嗎?當然不可能了(廢話,不然我寫這個幹嗎)


看箭頭指的地方,第一個箭頭指向的是原本字符串裏就應該有的單引號,但是,被自動認作字符串結束的標誌。

然後解決辦法也很簡單,換成雙引號就好了o(´^`)o


但是如果是多行字符串比如說這種:

Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary,and extortion.

Sincerely,
Bob

如果直接單引號,效果圖如下:


如果用雙引號,效果圖如下:


正經方法如下:
print('''Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary,and extortion.

Sincerely,
Bob''')

輸出:
Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary,and extortion.

Sincerely,
Bob

當然啦,大家都知道'''這個是多行註釋,但是大家也注意到了,這裏沒有用轉義字符,當然,直接用轉義字符也是可以的,但是肯定沒有這麼方便了(至少這樣看起來很省事)


字符串下標和切片

……

越來越像列表了……

spam='Hello World!'
print(spam[0])#output:H
print(spam[4])#output:o
print(spam[-1])#output:!
print(spam[0:5])#output:Hello
print(spam[:5])#output:Hello
print(spam[6:])#output:World!
注意啊,[0:5]得到是子字符串是下標爲0~4的,不包括5,也就是說,不包括空格(大家就把5當做計數用的吧)

然後,這裏起別的名字也是可以的,比如:fizz=spam[0:5]

in和not in

用法和list那裏一樣:

字符串 in 字符串




②有用的字符串關係

http://www.runoob.com/python3/python3-string.html

upper()     轉換字符串中的小寫字母爲大寫

lower()      轉換字符串中所有大寫字符爲小寫.

isupper()   如果字符串中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是大寫,則返回 True,否則返回 False

islower()     如果字符串中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是小寫,則返回 True,否則返回 False

startwith()  檢查字符串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定範圍內檢查。

endwith()  檢查字符串是否以 obj 結束,如果beg 或者 end 指定則檢查指定的範圍內是否以 obj 結束,如果是,返回 True,否則返回 False.

join()          以指定字符串作爲分隔符,將 seq 中所有的元素(的字符串表示)合併爲一個新的字符串

split()          num=string.count(str)) 以 str 爲分隔符截取字符串,如果 num 有指定值,則僅截取 num 個子字符串

rjust()        返回一個原字符串右對齊,並使用fillchar(默認空格)填充至長度 width 的新字符串

ljust()        返回一個原字符串左對齊,並使用 fillchar 填充至長度 width 的新字符串,fillchar 默認爲空格。

center()    返回一個指定的寬度 width 居中的字符串,fillchar 爲填充的字符,默認爲空格。

strip()        在字符串上執行 lstrip()和 rstrip()

rstrip()      刪除字符串字符串末尾的空格.

lstrip()      截掉字符串左邊的空格或指定字符。

上面的很多之前都提到了,就不再贅述,詳細的就看上面那個網址。


pyperclip 模塊

可以用來拷貝粘貼字符串

>>>import pyperclip
>>>pyperclip.copy('Hello World!')
>>>pyperclip.paste()
'Hello World!'


isX方法

除了isupper()和islower(),isX方法也返回的是bool值
isalpha()返回True 如果字符串只包含字母,並且非空
isalnum()返回True 如果字符串只包含字母和數字,並且非空
isdecimal()返回True 如果字符串只包含數字字符,並且非空
isspace()返回True 如果字符串只包含空格、製表符和換行,並且非空
istitle()返回True 如果字符串僅包含以大寫字母開頭、後面都是小寫字母的單詞

用法:
字符串.isX方法()






'''
到這裏,第一部分就結束了,這也是年前最後一次更新博客啦,提前祝大家新年快樂,ヾ(◍°∇°◍)ノ゙
希望在新的一年裏,我能抓緊時間把原來挖的坑填好,能不受高數的折磨,希望大物能友好一點。
‧★,:*:‧\( ̄▽ ̄)/‧:*‧°★* 
'''

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章