哈咯i 、 大叫好 。 今天看了 Python 中的字符串,在我看來不管是那一門編程語言,也不管是什么地方 字符串類型的操作永遠是非常重要的、因為我個人感覺其實解決很多問題的時候 本質 都是一些字符串的操作。恩對沒錯就是這樣。 好 來看看Python中的字符串類型和它的簡單操作吧??!
在Python中 創(chuàng)建字符串可以有多種方式 ,第一種可以是大家常見的? ? ?"? 若干字符 "? ? 利用 “ ” 來創(chuàng)建一個字符串,這與其他編程語言也是一樣的 比如 C/C++??
還用一種可以利用? ?‘? 若干子符 ’? ?來創(chuàng)建一個字符串。 就是? 幸虧 我好久沒寫 C/C++ 的代碼了。否則是絕對接受不了這個現(xiàn)實的 ,因為大家都知道? ? ?‘? ’? ??
在 C/C++ 中只能表示一個字符 要是放一個字符串進去 那肯定是會報error!的 呃呃俄呃呃,
第三種就是 Python中可以用? ? ?'''? 若干字符? ‘’‘? ?來創(chuàng)建一個多行字符串就可以是多行的’? ? ?因為我們知道? ? ?“ ”? ? ‘? ’? 創(chuàng)建的如果沒有? ? \? ?這個轉義字符 那肯定是報 error的? !? 當然 我們也可以用? "? "? ?和? ‘? ?’? 在利用上轉義字符也可以創(chuàng)建多行的 , 恩@? 當然直接利用? '''? ? '''? ?當然更好阿!
當然Python提供多的字符串創(chuàng)建方法是有方便之處的、 比如 如果我們在一個符串中想表示(既想讓字符串里面包含)? "? ?或者? ‘? 號? 如果 那創(chuàng)建字符串的方式要與包含的 不一致 這樣才不會引發(fā)qi意 是吧 比如? 當然也可以使用我們熟悉的轉義字符咯!? 如:

另外也和其他編程語言一樣 我們可以 用索引 去獲取字符串當中的某個字符? 當然下標是從 0? 開始的 恩!? 程序猿數(shù)數(shù)都是從 0 開始的? ‘’‘’‘’‘’‘
當然Python不僅 提供了正向遞增序列索引? 還提供了反向遞減序列索引? 正向從 0? 開始遞增,反向從 -1 開始遞減、? 恩 沒錯 有的時候 還是很方便的是吧! 這個特征!?
.??
呃呃俄 好 接下來看看? Python中字符串的操作符? :
? x + y? ? ? 直接連接兩個字符串 x 和 y
? x * n? ? ? 復制 n 次字符串? 、 這里當然? n? 肯定為整數(shù)咯!
? x in s? ? ?這個我感覺就比較厲害了 , 他的作用是判斷 若 x 為 字符串 s 的字串 則 返回布爾值 Ture 否則 返回 False? : 如?

.
好現(xiàn)在來 看看幾個 Python 處理字符串的函數(shù)? 、
1 : len(X)? ? ? ?該函數(shù)返回字符串的長度
2:? str(x)? ? ? ? ?該函數(shù)就比較厲害了,它能夠將任意類型的 x 轉換成 字符串類型? ?最通俗理解就是 給它兩邊加了個 “? ”? 唄!
? ? ? ? ? ? ? ? ? ? ? ? ?這里就有必要像起來個 eval(x)? 函數(shù)了 這個函數(shù)也比較厲害了、我感覺最通俗說 就是它可以將 x 字符串 兩邊的 (不管你是) ‘? ?’? 、 “? ? ”? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ?還是? '''? ? '''? 都給你去掉 、? 完全和 str的作用相反? 比如:

? ? ? ? ? ? ? ? ? ? ? ? ? ?恩!對 一看就明白了!
3:? hex(X) 和 oct(x)? ?將整數(shù)的 x 轉換為 16進制和8進制 數(shù)的形式的字符串、結果是一個字符串 比如 hex(425)因為425的16進制形式為 0x1a9 所以這個函數(shù)的
? ? ? ? ? ? ? ? ? ? ? ? ? 返回值就是? ?"0x1a9"? ?就變成一個字符創(chuàng)咯、、、
4:chr(u) 和 ord(x)? 這兩個函數(shù)的作用就是提供 Unicode編碼與 字符之間的轉換作用的、其中 chr(u)? u 是其Unicode編碼 該函數(shù)返回對應的字符、ord(x) x是一? ? ? ? ? ? ? ? ? ? ? ? ? ? 個字符 該函數(shù)返回其 Unicode 編碼! so、 比如:

比如我知道 12星座的 Unicode編碼 我就可以 得到其對應字符、
Python使用的是 Unicode 編碼方式 Unicode編碼方式幾乎覆蓋所有字符 、? 包括 漢字? 這也說明了在 Python3? 里面 可以用 漢字 作為變量來使用也是因為???? Python? 人家可用的是 Unicode 編碼?。?!
好 來體驗一下 面向對象編程的體驗、? 一些對字符串的的處理功能。
我們可以用 str.lower()? 函數(shù) 該函數(shù)返回 str字符串的副本、并且將里面所有的 字母改成小寫,而與之對應的? str.upper()? 函數(shù)可以將字符串 str 里面的所有字符轉換成 大寫? 比如? ? " Amerian? ?".upper()? ? 返回的就是? "AMERIAN"? ?
str.split(set = None)? 該函數(shù)返回一個列表,由str根據(jù)sep被分割的部分組成。set為其str的字串 ,返回一個列表所謂列表既 有一系列值組成的序列,值與值之間用逗號隔開 由 [? ]? ?包裹。? 當然 set 有默認值 如果 str.split()? 像這樣 那么默認就是被空格分割。返回一個列表? 比如

呃呃俄? 忽視沃? world 寫錯了!!
第一個 print l里面的字符串 我們 用 'o'? 去分割并且返回一個列表 就如我們所看到的那樣兒!
第二個 print 因為 我試圖用 'S'? 去分割 但是 str字符串里? 沒有 ‘S’ 字符串所以就沒分割開、
str.count(sub)? 這個就比較簡單了也比較直觀 該函數(shù)返回 str 字符串中 字串 sub 出現(xiàn)的次數(shù)?
str.replace(old,new)? 返回str字符串的副本,其str 中所有的 old 字串 被替換成 new?
str.center(width[,fillchar])? 該函數(shù)返回 字符串根據(jù) withd 寬度 居中 ,fillchar為可選參數(shù) 根據(jù)寬度居中,那剩下的就用 fillchar 填充哦。若不提供fillchar參數(shù)默認為 空格? 填充!

.
str.strip(chars)? 該函數(shù)的作用是 去掉在其左側和右側chars中列出來的字符,(想想Python這家伙還廷方便的這要是在C/C++)你還得自己寫個函數(shù)或者寫個類
那可要這邊直接調用就好了)? 比如 :

觀察其特點,發(fā)現(xiàn)這函數(shù)是從兩邊開始 去? 的。
str.join(iter)? 它的作用剛好與 split() 基本相反!--------??
唉!? 好累 去歇會兒、、、、、、、、、、