国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【Python④】python惱人的字符串,格式化輸出

2019-11-14 17:37:59
字體:
來源:轉載
供稿:網友

惱人的字符串

計算機只能處理數字,如果要處理文本,就必須先把文本轉換為數字才能處理。由于計算機是美國人發明的,因此,最早只有127個字母被編碼到計算機里,也就是大小寫英文字母、數字和一些符號,這個編碼表被稱為ASCII編碼,比如大寫字母A的編碼是65,小寫字母a的編碼是97。

但是要處理中文至少需要兩個字節,而且還不能和ASCII編碼沖突,所以,中國制定了GB2312編碼,用來把中文編進去。全世界有上百種語言,為了擴充ASCII編碼,用于顯示本國的語言,不同的國家和地區制定了不同的標準,由此產生了 GB2312, BIG5, JIS 等各自的編碼標準。各國有各國的標準,就會不可避免地出現沖突,結果就是,在多語言混合的文本中,顯示出來會有亂碼。因此,Unicode應運而生。Unicode把所有語言都統一到一套編碼里,這樣就不會再有亂碼問題了。

ps:此處不細說Unicode編碼轉化為“可變長編碼”的UTF-8編碼,有興趣的讀者可以自行查閱資料。

python字符串的表示

這里python3.x版本的改進就很是使用。

在2.x版本中:

>>> str="python 2.x 版本輸出中文字符一點都不方便">>> str'python 2.x /xb0/xe6/xb1/xbe/xca/xe4/xb3/xf6/xd6/xd0/xce/xc4/xd7/xd6/xb7/xfb/xd2/xbb/xb5/xe3/xb6/xbc/xb2/xbb/xb7/xbd/xb1/xe3'>>> 

所以說,編碼有時候造成的BUG會讓人痛不欲生,歷史遺留問題,Python 2.x版本雖然支持Unicode,但在語法上需要'xxx'u'xxx'兩種字符串表示方式。

而在Python 3.x版本中,'xxx'u'xxx'被統一成Unicode編碼,即寫不寫前綴u都是一樣的,而以字節形式表示的字符串則必須加上b前綴:b'xxx'

而在3.x版本中:

>>> str="python 3.x 版本輸出中文字符很方便">>> str'python 3.x 版本輸出中文字符很方便'>>> 

格式化輸出

我們經常會輸出像 'XXX先生/女士,您好!您本月信用卡的消費數額為XXXX元,透支XXXX元' 這樣的句式,因此我們需要格式化輸出。

常見的占位符有:

%d 整數 %f 浮點數 %s 字符串 %x 十六進制整數 

格式化整數和浮點數還可以指定是否補0(最后一位四舍五入)。

>>> '%f' %1.23456789'1.234568'>>> '%.3f' %1.23456789'1.235'

如果不太確定用哪個,可以用%s,它會把任何數據類型轉換為字符串。

>>> '%s先生/女士,您好!您本月信用卡的消費數額為%d元,透支%d元' %('皇家理工',6666,2222)'皇家理工先生/女士,您好!您本月信用卡的消費數額為6666元,透支2222元'>>> '%s先生/女士,您好!您本月信用卡的消費數額為%s元,透支%s元' %('皇家理工',6666,2222)'皇家理工先生/女士,您好!您本月信用卡的消費數額為6666元,透支2222元'>>> 

 

當日小結:字符編碼格式,在2.x主流的日子還是個痛啊。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泰和县| 西乌珠穆沁旗| 河津市| 铁岭县| 桃园县| 吉水县| 武穴市| 渭源县| 南澳县| 昌都县| 佛教| 竹山县| 沙湾县| 峨山| 绵竹市| 汝州市| 镶黄旗| 道孚县| 大田县| 平定县| 武冈市| 灵丘县| 涟源市| 民丰县| 高淳县| 那坡县| 轮台县| 定南县| 诏安县| 湖南省| 安化县| 东丰县| 凌海市| 大洼县| 永仁县| 沂水县| 聂荣县| 丹寨县| 保定市| 岳西县| 新邵县|