自動(dòng)化測試:Python常見的幾種編程模式
本章節(jié)給大家更新一下“Python語法規(guī)范與數(shù)據(jù)類型”相關(guān)內(nèi)容,主要是為了讓大家了解Python有什么類型的編程模式,掌握Python的基本語法,清楚怎么輸出及命令行參數(shù)的基本應(yīng)用,對(duì)Python的數(shù)據(jù)類型了解后,以便做更多的相關(guān)操作。
常見的編程模式
①Python交互式命令編程。
②Python腳本編程。
③中文編碼處理。
1、交互式命令編程模式
交互式命令編程模式就是一種典型逐行讀取執(zhí)行模式。
當(dāng)程序只有一行或較少的時(shí)候,這種編程模式是比較典型的應(yīng)用方式。
下圖使用PythonIDLE編輯器進(jìn)行編程,而該編輯器的編程模式就是典型的交互式命令編符號(hào)。
>>>就是輸入交互命令的提示符,每次輸入完畢后回車,該命令就被Python解析器執(zhí)行。
2、腳本編程模式
當(dāng)我們需要編寫較為復(fù)雜或大段的代碼的時(shí)候,命令式編程就顯得不夠方便。
因此,Python提供了腳本編程模式。可以創(chuàng)建一個(gè)后綴名為*.py的腳本文件,將大量的代碼編寫到該文件中,這樣便于代碼的維護(hù)和更新,之后再使用交互命令執(zhí)行或IDE 工具運(yùn)行即可。
3、字符編程
字符串是一種數(shù)據(jù)類型。但是,字符串還有一個(gè)比較特殊的編碼問題。
因?yàn)橛?jì)算機(jī)只能處理數(shù)字,如果要處理文本,就必須先把文本轉(zhuǎn)換為數(shù)字才能處理。
補(bǔ)充:字符編碼發(fā)展史
最早的計(jì)算機(jī)在設(shè)計(jì)時(shí)采用8個(gè)比特(bit)作為一個(gè)字節(jié)(byte),所以,一個(gè)字節(jié)能表示的最大的整數(shù)就是255(二進(jìn)制11111111=十進(jìn)制255),如果要表示更大的整數(shù),就必須用更多的字節(jié)。比如兩個(gè)字節(jié)可以表示的最大整數(shù)是65535,4 個(gè)字節(jié)可以表示的最大整數(shù)是4294967295。
由于計(jì)算機(jī)是美國人發(fā)明的,因此,最早只有127個(gè)字符被編碼到計(jì)算機(jī)里,也就是大小寫英文字母、數(shù)字和一些符號(hào),這個(gè)編碼表被稱為ASCII編碼,比如大寫字母A的編碼是65,小寫字母z的編碼是122。
擴(kuò)展:unicode字符集
Python3之所以能夠很好地解決中文亂碼問題,在于其將所有的字符串都是用unicode進(jìn)行字符編碼。
● Unicode把所有的語言統(tǒng)一到一套編碼里,這樣就不會(huì)有亂碼了。
● Unicode也在不斷的發(fā)展,但最常用的是用兩個(gè)字節(jié)表示一個(gè)字符(如果遇到非常生僻的字符,就需要4字節(jié))?,F(xiàn)在我們見到的大多數(shù)操作系統(tǒng)和大多數(shù)編程語言都支持unicode。
ASCII編碼是1個(gè)字節(jié),而Unicode編碼通常是2個(gè)字節(jié)。
擴(kuò)展:UTF-8字符集
新的問題又出現(xiàn)了:如果統(tǒng)一成Unicode編碼,亂碼問題從此消失了。但是,如果你寫的文本基本上全部是英文的話,用Unicode編碼比ASCII編碼需要多一倍的存儲(chǔ)空間,在存儲(chǔ)和傳輸上就十分不劃算。
解決辦法的誕生:又出現(xiàn)了把Unicode編碼轉(zhuǎn)化為“可變長編碼”的UTF-8編碼。
● UTF-8編碼把一個(gè)Unicode字符根據(jù)不同的數(shù)字大小編碼成1-6個(gè)字節(jié),常用的英文字母被編碼成1個(gè)字節(jié),漢字通常是3個(gè)字節(jié),只有很生僻的字符才會(huì)被編碼成4-6個(gè)字節(jié)。
● 如果你要傳輸?shù)奈谋景罅坑⑽淖址?,用UTF-8編碼就能節(jié)省空間。
● UTF-8編碼有一個(gè)額外的好處,就是ASCII編碼實(shí)際上可以被看成是UTF-8編碼的一部分,所以,大量只支持ASCII編碼的歷史遺留軟件可以在UTF-8編碼下繼續(xù)工作。
特別注意:計(jì)算機(jī)內(nèi)存中,統(tǒng)一使用Unicode編碼。
python3字符編碼
在Python3版本中,字符串都是以Unicode編碼的,也就是說,Python字符串支持多語言。
單個(gè)字符的編碼,Python提供了ord()函數(shù)獲取單個(gè)字符的十進(jìn)制整數(shù)表示,chr()函數(shù)把編碼轉(zhuǎn)換成對(duì)應(yīng)的字符。
示例:
>>> ord(‘A’)
65
>>> ord(‘中’)
20013
>>> chr(66)
‘B’
>>> chr(25991)
‘文’
Python源代碼也是一個(gè)文本文件 ,所以,當(dāng)你的源代碼中包含中文的時(shí)候,在保存源代碼時(shí),就需要?jiǎng)?wù)必指定保存為UTF-8編碼。當(dāng)Python解釋器讀取源代碼時(shí),為了讓它按UTF-8編碼讀取,我們通常在文件開頭寫上這行。
#-*- coding:utf-8 *-
注釋是為了告訴Python解釋器,按照UTF-8編碼讀取源代碼,否則,你在源代碼中寫的中文輸出可能會(huì)有亂碼。