1、字符串:python
在python中,字符由單引號,雙引號,引發來的形式,稱之爲字符串。python不支持單字符類型,單個字符在python中也被認爲是字符串。git
python字符串是不可變的。編程
在全部編程語言中,字符串幾乎無所不在,編程的本質就是對數據的加工處理,對字符串處理的能力是編程最重要的能力之一。api
2、字符串形式:數組
'abc345' "897*!" r'a\bcde' u'abc123'
3、字符串使用場景:bash
給班裏同窗做一份通信錄 咱們就能夠把同窗名看成變量,手機號,住址當成值:網絡
4、字符串操做格式:編程語言
tmpstr = '' tmpstr = "" str(object='') tmpstr = '18801118888-Shanghai' tmpstr = 'To Live or diE, tHat Is a question'
5、格式化 函數
capitalize() :使首字母大寫,其它字母小寫 title() :每單詞的首字母大寫,其它字母小寫 lower() :將字符串所有變成小寫 upper() :將字符串所有變成大寫 swapcase() :大寫字母變小寫,小寫字線變大寫 center() :設置輸出長度,並將字符串居中顯示,center(100) ljust() :設置輸出長度,並將字符串居左,ljust(100) rjust() :設置輸出長度,並將字符串居右,rjust(100) zfill() :設置輸出長度,若是字符串小於長度值,則左側用'0'補充。 expandtabs() :將tab鍵轉換爲空格,默認一個tab轉換成8個空格 translate() :將字符串按按照,必定的映射關係進行替換 tmptable = str.maketrans('abcde','12345') 生成映射關係表 tmpstr.translate(tmptable) 根據映射關係表生成字符串
1.format :格式化輸出字體
'Hi {} ,age {}'.format('Tom',18) 'Hi {1} ,age {0} {0}'.format('Tom',18) 'Hi {name},age {age}'.format(name='Tom',age=20)
2.:[填充字符][對齊方式 <^>][寬度]
'{0:*>10}'.format(88) '{0:*<10}'.format(88) '{0:*^10}'.format(88)
3.精度與進制
'{0:.3f}'.format(1/6) '{0:b}'.format(11) 二進制 '{0:o}'.format(11) 八進制 '{0:x}'.format(11) 十六進制 '{0:,}'.format(123456789) 千分位格式化
4.字典列表參數
tmpdict = {'name':'Tom','age':20} 'my name is {name},age is {age}'.format(**tmpdict) tmplist = ['Tom',22] 'my name is {0[0]},age is {0[1]}'.format(tmplist)
6、判斷方法:
islower() :判斷字母是否是全爲小寫 isupper() :判斷字母是否是全爲大寫 isalnum() :判斷字符串僅有字母數字組成 isalpha() :判斷字符串僅有字母組成 isdigit() :判斷字符串僅有天然數組成(正數和0) isspace() :判斷字符串僅有空字符組成,' \t\f\v\n\r '.isspace() istitle() :判斷字符串是否是標題形式(每一個單詞首字母大寫,其它字母小寫) startswith() :判斷字符串開始部分 endswith() :判斷字符串結束部分
7、切割查找:
count() :查詢某一字符出如今次數 strip() :刪除字符串兩端的空字符 同時也能夠刪除指定的字符,字符沒有順序只要在兩端便可。 'li bail'.strip('li') ==> ' ba' lstrip() :刪除字符串左端的空字符 rstrip() :刪除字符串右端的空字符 split() :從左側開始按某些分隔符分隔字符,默認爲空字符,返回列表 rsplit() :從右側開始按某些分隔符分隔字符,默認爲空字符,返回列表 splitlines():用換行符分隔字符串 partition() :從左側開始按某些分隔符分隔字符,返回含有分割符的列表,切割一次 rpartition():從右側開始按某些分隔符分隔字符,返回含有分割符的列表,切割一次 join() :用某一字符將某列表鏈接成字符串。'+'.join(tmpstr.splitlines()) find() :從左側查找某一字符是否是在字符串中,在則返回索引值 ,不在則返回-1 rfind() :從右側查找某一字符是否是在字符串中,在則返回索引值 ,不在則返回-1 index() :從左側查找某一字符的索引,存在則返回索引值 ,不在拋出異常 rindex() :從右側查找某一字符的索引,存在則返回索引值 ,不在拋出異常 replace() :將匹配的字符換成其它字符
8、序列操做:
在python中咱們將由多個獨立的對象或元素構成的新對象,稱之爲序列。python爲序中每個獨立的對象或元素從0開始編上序號,這種序號咱們稱之爲索引。
Python包含 6 中內建的序列,包括列表、元組、字符串、Unicode字符串、buffer對和range對象。序列操做是通用的,本節就以字符串爲例講解序列操做。
1.索引操做:S = 'LIBai,dufu,baijuyi'
按照元素位置索引值取元素,編號依次爲 0 1 2 3 ……。也能夠從右向左依次爲 -1 -2 -3 ..... tmpstr[0] tmpstr[3] tmpstr[-1]
2.切片操做:
獲取必定索引範圍的元素,也能夠設置步長,即每隔幾個元素取一次元素 tmpstr[2:5] tmpstr[2:5:2] tmpstr[:] tmpstr[::3] tmpstr[-3:-1] tmpstr[-3:-1:2] tmpstr[-1:-3:-1] tmpstr[::-1]
3.加法 乘法操做:
加法是將多個序列合併成一個;乘法是指對序列重複輸出的次數 tmpstr + 'ABC' tmpstr * 3 成員資格操做: 'XY' in tmpstr 'XY' not in tmpstr 序列內建函數: 求序列長度len(); 求序列中最大值 max(); 求序列中最小值 min() len(tmpstr) max(tmpstr) min(tmpstr)
9、編碼與解碼:
內存裏的字符 → 內存裏的 unicode → 字體文件中的 gid 序列 → 字體文件中的矢量圖序列 → 點陣化送顯示屏
字節、字符、字符集、字符碼、字符編碼
1.字節
字節(Byte)是計算機中數據存儲的基本單元,一字節等於一個8位的比特,計算機中的全部數據,不管是保存在磁盤文件上的仍是網絡上傳輸的數據(文字、圖片、視頻、音頻文件)都是由字節組成的。
2.字符
你正在閱讀的這篇文章就是由不少個字符(Character)構成的,字符一個信息單位,它是各類文字和符號的統稱,好比一個英文字母是一個字符,一個漢字是一個字符,一個標點符號也是一個字符。
3.字符集
字符集(Character Set)就是某個範圍內字符的集合,不一樣的字符集規定了字符的個數,好比 ASCII 字符集總共有128個字符,包含了英文字母、阿拉伯數字、標點符號和控制符。而 GB2312 字符集定義了7445個字符,包含了絕大部分漢字字符。
4.字符碼
字符碼(Code Point)指的是字符集中每一個字符的數字編號,例如 ASCII 字符集用 0-127連續的128個數字分別表示128個字符,例如 "A" 的字符碼編號就是65。
5.字符編碼
字符編碼(Character Encoding)是將字符集中的字符碼映射爲字節流的一種具體實現方案,常見的字符編碼有 ASCII 編碼、UTF-8 編碼、GBK 編碼等。某種意義上來講,字符集與字符編碼有種對應關係,例如 ASCII 字符集對應 有 ASCII 編碼。
ASCII 字符編碼規定使用單字節中低位的7個比特去編碼全部的字符。例如"A" 的編號是65,用單字節表示就是0×41,所以寫入存儲設備的時候就是b'01000001'。
6.編碼、解碼
編碼的過程是將字符轉換成字節流,解碼的過程是將字節流解析爲字符。