一、python發展史:
1、自從20世紀90年代初Python語言誕生至今,它已被逐漸廣泛應用于系統管理任務的處理和Web程式設計。
Python的創始人為荷蘭人吉多·範羅蘇姆 [3] (Guido van Rossum)。1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本解釋程式,作為ABC 語言的一種繼承。之是以選中Python(大蟒蛇的意思)作為該程式設計語言的名字,是取自英國20世紀70年代首播的電視喜劇《蒙提.派森的飛行馬戲團》(Monty Python's Flying Circus)。
2、Python 下載下傳位址及曆史版本:https://www.python.org/downloads/
- 1989年,為了打發聖誕節假期,Guido開始寫Python語言的編譯器。Python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus。他希望這個新的叫做Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。
- 1991年,第一個Python編譯器誕生。它是用C語言實作的,并能夠調用C語言的庫檔案。從一出生,Python已經具有了:類,函數,異常處理,包含表和詞典在内的核心資料類型,以及子產品為基礎的拓展系統。
- Granddaddy of Python web frameworks, Zope 1 was released in 1999
- Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
- Python 2.0 - October 16, 2000,加入了記憶體回收機制,構成了現在Python語言架構的基礎
- Python 2.4 - November 30, 2004, 同年目前最流行的WEB架構Django 誕生
- Python 2.5 - September 19, 2006
- Python 2.6 - October 1, 2008
- Python 2.7 - July 3, 2010
- In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
- Python 3.0 - December 3, 2008
- Python 3.1 - June 27, 2009
- Python 3.2 - February 20, 2011
- Python 3.3 - September 29, 2012
- Python 3.4 - March 16, 2014
- Python 3.5 - September 13, 2015
二、字元編碼
- python 解釋器在加載 .py 檔案中的代碼時,會對内容進行編碼(python2.x 預設ascill;python3.x 預設utf-8)
- ASCII(American Standard Code for Information Interchange,美國标準資訊交換代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言,其最多隻能用 8 位來表示(一個位元組),即:2**8 = 256-1,是以,ASCII碼最多隻能表示 255 個符号。
1、關于中文
- 為了處理漢字,程式員設計了用于簡體中文的GB2312和用于繁體中文的big5。
- GB2312(1980年)一共收錄了7445個字元,包括6763個漢字和682個其它符号。漢字區的内碼範圍高位元組從B0-F7,低位元組從A1-FE,占用的碼位是72*94=6768。其中有5個空位是D7FA-D7FE。
- GB2312 支援的漢字太少。1995年的漢字擴充規範GBK1.0收錄了21886個符号,它分為漢字區和圖形符号區。漢字區包括21003個字元。2000年的 GB18030是取代GBK1.0的正式國家标準。該标準收錄了27484個漢字,同時還收錄了藏文、蒙文、維吾爾文等主要的少數民族文字。現在的PC平台必須支援GB18030,對嵌入式産品暫不作要求。是以手機、MP3一般隻支援GB2312。
- 從ASCII、GB2312、GBK 到GB18030,這些編碼方法是向下相容的,即同一個字元在這些方案中總是有相同的編碼,後面的标準支援更多的字元。在這些編碼中,英文和中文可以統一地處理。區分中文編碼的方法是高位元組的最高位不為0。按照程式員的稱呼,GB2312、GBK到GB18030都屬于雙位元組字元集 (DBCS)。
- 有的中文Windows的預設内碼還是GBK,可以通過GB18030更新包更新到GB18030。不過GB18030相對GBK增加的字元,普通人是很難用到的,通常我們還是用GBK指代中文Windows内碼。
2、顯然ASCII碼無法将世界上的各種文字和符号全部表示,是以,就需要新出一種可以代表所有字元和符号的編碼,即:Unicode
- Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字元編碼。Unicode 是為了解決傳統的字元編碼方案的局限而産生的,它為每種語言中的每個字元設定了統一并且唯一的二進制編碼,規定雖有的字元和符号最少由 16 位來表示(2個位元組),即:2 **16 = 65536,
- 注:此處說的的是最少2個位元組,可能更多
- UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個位元組,而是将所有的字元和符号進行分類:ascii碼中的内容用1個位元組儲存、歐洲的字元用2個位元組儲存,東亞的字元用3個位元組儲存...
- 是以,python解釋器在加載 .py 檔案中的代碼時,會對内容進行編碼(預設ascill),是以需要轉碼:
# -*- coding: utf-8 -*-
print "你好,世界"
十進制代碼 | 十六進制代碼 | MCS 字元或縮寫 | DEC 多國字元名 |
ASCII 控制字元 1 | |||
NUL | 空字元 | ||
1 | SOH | 标題起始 (Ctrl/A) | |
2 | STX | 文本起始 (Ctrl/B) | |
3 | ETX | 文本結束 (Ctrl/C) | |
4 | EOT | 傳輸結束 (Ctrl/D) | |
5 | ENQ | 詢問 (Ctrl/E) | |
6 | ACK | 認可 (Ctrl/F) | |
7 | BEL | 鈴 (Ctrl/G) | |
8 | BS | 倒退 (Ctrl/H) | |
9 | HT | 水準制表欄 (Ctrl/I) | |
10 | 0A | LF | 換行 (Ctrl/J) |
11 | 0B | VT | 垂直制表欄 (Ctrl/K) |
12 | 0C | FF | 換頁 (Ctrl/L) |
13 | 0D | CR | 回車 (Ctrl/M) |
14 | 0E | SO | 移出 (Ctrl/N) |
15 | 0F | SI | 移入 (Ctrl/O) |
16 | DLE | 資料連結丢失 (Ctrl/P) | |
17 | DC1 | 裝置控制 1 (Ctrl/Q) | |
18 | DC2 | 裝置控制 2 (Ctrl/R) | |
19 | DC3 | 裝置控制 3 (Ctrl/S) | |
20 | DC4 | 裝置控制 4 (Ctrl/T) | |
21 | NAK | 否定接受 (Ctrl/U) | |
22 | SYN | 同步閑置符 (Ctrl/V) | |
23 | ETB | 傳輸塊結束 (Ctrl/W) | |
24 | CAN | 取消 (Ctrl/X) | |
25 | EM | 媒體結束 (Ctrl/Y) | |
26 | 1A | SUB | 替換 (Ctrl/Z) |
27 | 1B | ESC | 換碼符 |
28 | 1C | FS | 檔案分隔符 |
29 | 1D | GS | 組分隔符 |
30 | 1E | RS | 記錄分隔符 |
31 | 1F | US | 機關分隔符 |
ASCII 特殊和數字字元 | |||
32 | SP | 空格 | |
33 | ! | 感歎号 | |
34 | " | 引号 (雙引号) | |
35 | # | 數字元号 | |
36 | $ | 美元符 | |
37 | % | 百分号 | |
38 | & | 和号 | |
39 | ' | 省略号 (單引号) | |
40 | ( | 左圓括号 | |
41 | ) | 右圓括号 | |
42 | 2A | * | 星号 |
43 | 2B | + | 加号 |
44 | 2C | , | 逗号 |
45 | 2D | -- | 連字号或減号 |
46 | 2E | . | 句點或小數點 |
47 | 2F | / | 斜杠 |
48 | 零 | ||
49 | |||
50 | |||
51 | |||
52 | |||
53 | |||
54 | |||
55 | |||
56 | |||
57 | |||
58 | 3A | : | 冒号 |
59 | 3B | ; | 分号 |
60 | 3C | < | 小于 |
61 | 3D | = | 等于 |
62 | 3E | > | 大于 |
63 | 3F | ? | 問号 |
ASCII 字母字元 | |||
64 | @ | 商業 at 符号 | |
65 | A | 大寫字母 A | |
66 | B | 大寫字母 B | |
67 | C | 大寫字母 C | |
68 | D | 大寫字母 D | |
69 | E | 大寫字母 E | |
70 | F | 大寫字母 F | |
71 | G | 大寫字母 G | |
72 | H | 大寫字母 H | |
73 | I | 大寫字母 I | |
74 | 4A | J | 大寫字母 J |
75 | 4B | K | 大寫字母 K |
76 | 4C | L | 大寫字母 L |
77 | 4D | M | 大寫字母 M |
78 | 4E | N | 大寫字母 N |
79 | 4F | O | 大寫字母 O |
80 | P | 大寫字母 P | |
81 | Q | 大寫字母 Q | |
82 | R | 大寫字母 R | |
83 | S | 大寫字母 S | |
84 | T | 大寫字母 T | |
85 | U | 大寫字母 U | |
86 | V | 大寫字母 V | |
87 | W | 大寫字母 W | |
88 | X | 大寫字母 X | |
89 | Y | 大寫字母 Y | |
90 | 5A | Z | 大寫字母 Z |
91 | 5B | [ | 左中括号 |
92 | 5C | \ | 反斜杠 |
93 | 5D | ] | 右中括号 |
94 | 5E | ^ | 音調符号 |
95 | 5F | _ | 下劃線 |
96 | ` | 重音符 | |
97 | a | 小寫字母 a | |
98 | b | 小寫字母 b | |
99 | c | 小寫字母 c | |
100 | d | 小寫字母 d | |
101 | e | 小寫字母 e | |
102 | f | 小寫字母 f | |
103 | g | 小寫字母 g | |
104 | h | 小寫字母 h | |
105 | i | 小寫字母 i | |
106 | 6A | j | 小寫字母 j |
107 | 6B | k | 小寫字母 k |
108 | 6C | l | 小寫字母 l |
109 | 6D | m | 小寫字母 m |
110 | 6E | n | 小寫字母 n |
111 | 6F | o | 小寫字母 o |
112 | p | 小寫字母 p | |
113 | q | 小寫字母 q | |
114 | r | 小寫字母 r | |
115 | s | 小寫字母 s | |
116 | t | 小寫字母 t | |
117 | u | 小寫字母 u | |
118 | v | 小寫字母 v | |
119 | w | 小寫字母 w | |
120 | x | 小寫字母 x | |
121 | y | 小寫字母 y | |
122 | 7A | z | 小寫字母 z |
123 | 7B | { | 左大括号 |
124 | 7C | | | 垂直線 |
125 | 7D | } | 右大括号 (ALTMODE) |
126 | 7E | ~ | 代字号 (ALTMODE) |
127 | 7F | DEL | 擦掉 (DELETE) |
控制字元 | |||
128 | [保留] | ||
129 | |||
130 | |||
131 | |||
132 | IND | 索引 | |
133 | NEL | 下一行 | |
134 | SSA | 被選區域起始 | |
135 | ESA | 被選區域結束 | |
136 | HTS | 水準制表符集 | |
137 | HTJ | 對齊的水準制表符集 | |
138 | 8A | VTS | 垂直制表符集 |
139 | 8B | PLD | 部分行向下 |
140 | 8C | PLU | 部分行向上 |
141 | 8D | RI | 反向索引 |
142 | 8E | SS2 | 單移 2 |
143 | 8F | SS3 | 單移 3 |
144 | DCS | 裝置控制字元串 | |
145 | PU1 | 專用 1 | |
146 | PU2 | 專用 2 | |
147 | STS | 設定傳輸狀态 | |
148 | CCH | 取消字元 | |
149 | MW | 消息等待 | |
150 | SPA | 保護區起始 | |
151 | EPA | 保護區結束 | |
152 | |||
153 | |||
154 | 9A | ||
155 | 9B | CSI | 控制序列引導符 |
156 | 9C | ST | 字元串終止符 |
157 | 9D | OSC | 作業系統指令 |
158 | 9E | PM | 秘密消息 |
159 | 9F | APC | 應用程式 |
其他字元 | |||
160 | A0 | [保留] 2 | |
161 | A1 | ¡ | 反向感歎号 |
162 | A2 | ¢ | 分币符 |
163 | A3 | £ | 英磅符 |
164 | A4 | ||
165 | A5 | ¥ | 人民币符 |
166 | A6 | ||
167 | A7 | § | 章節符 |
168 | A8 | ¤ | 通用貨币符号 2 |
169 | A9 | © | 版權符号 |
170 | AA | ª | 陰性順序訓示符 |
171 | AB | « | 左角引号 |
172 | AC | ||
173 | AD | ||
174 | AE | ||
175 | AF | ||
176 | B0 | ° | 溫度符 |
177 | B1 | ± | 加/減号 |
178 | B2 | ² | 上标 2 |
179 | B3 | ³ | 上标 3 |
180 | B4 | ||
181 | B5 | µ | 微符 |
182 | B6 | ¶ | 段落符,pilcrow |
183 | B7 | · | 中點 |
184 | B8 | ||
185 | B9 | ¹ | 上标 1 |
186 | BA | º | 陽性順序訓示符 |
187 | BB | » | 右角引号 |
188 | BC | ¼ | 分數四分之一 |
189 | BD | ½ | 分數二分之一 |
190 | BE | ||
191 | BF | ¿ | 反向問号 |
192 | C0 | À | 帶重音符的大寫字母 A |
193 | C1 | Á | 帶尖銳重音的大寫字母 A |
194 | C2 | Â | 帶音調符号的大寫字母 A |
195 | C3 | Ã | 帶代字号的大寫字母 A |
196 | C4 | Ä | 帶元音變音 (分音符号) 的大寫字母 A |
197 | C5 | Å | 帶鈴聲的大寫字母 A |
198 | C6 | Æ | 大寫字母 AE 雙重元音 |
199 | C7 | Ç | 帶變音符号的大寫字母 C |
200 | C8 | È | 帶重音符的大寫字母 E |
201 | C9 | É | 帶尖銳重音的大寫字母 E |
202 | CA | Ê | 帶音調符号的大寫字母 E |
203 | CB | Ë | 帶元音變音 (分音符号) 的大寫字母 E |
204 | CC | Ì | 帶重音符的大寫字母 I |
205 | CD | Í | 帶尖銳重音的大寫字母 I |
206 | CE | Î | 帶音調符号的大寫字母 I |
207 | CF | Ï | 帶元音變音 (分音符号) 的大寫字母 I |
208 | D0 | ||
209 | D1 | Ñ | 帶代字号的大寫字母 N |
210 | D2 | Ò | 帶重音符的大寫字母 O |
211 | D3 | Ó | 帶尖銳重音的大寫字母 O |
212 | D4 | Ô | 帶音調符号的大寫字母 O |
213 | D5 | Õ | 帶代字号的大寫字母 O |
214 | D6 | Ö | 帶元音變音 (分音符号) 的大寫字母 O |
215 | D7 | OE | 大寫字母 OE 連字 2 |
216 | D8 | Ø | 帶斜杠的大寫字母 O |
217 | D9 | Ù | 帶重音符的大寫字母 U |
218 | DA | Ú | 帶尖銳重音的大寫字母 U |
219 | DB | Û | 帶音調符号的大寫字母 U |
220 | DC | Ü | 帶元音變音 (分音符号) 的大寫字母 U |
221 | DD | 帶元音變音 (分音符号) 的大寫字母 Y | |
222 | DE | ||
223 | DF | ß | 德語高調小寫字母 s |
224 | E0 | à | 帶重音符的小寫字母 a |
225 | E1 | á | 帶尖銳重音的小寫字母 a |
226 | E2 | â | 帶音調符号的小寫字母 a |
227 | E3 | ã | 帶代字号的小寫字母 a |
228 | E4 | ä | 帶元音變音 (分音符号) 的小寫字母 a |
229 | E5 | å | 帶鈴聲的小寫字母 a |
230 | E6 | æ | 小寫字母 ae 雙重元音 |
231 | E7 | ç | 帶變音符号的小寫字母 c |
232 | E8 | è | 帶重音符的小寫字母 e |
233 | E9 | é | 帶尖銳重音的小寫字母 e |
234 | EA | ê | 帶音調符号的小寫字母 e |
235 | EB | ë | 帶元音變音 (分音符号) 的小寫字母 e |
236 | EC | ì | 帶重音符的小寫字母 i |
237 | ED | í | 帶尖銳重音的小寫字母 i |
238 | EE | î | 帶音調符号的小寫字母 i |
239 | EF | ï | 帶元音變音 (分音符号) 的小寫字母 i |
240 | F0 | ||
241 | F1 | ñ | 帶代字号的小寫字母 n |
242 | F2 | ò | 帶重音符的小寫字母 o |
243 | F3 | ó | 帶尖銳重音的小寫字母 o |
244 | F4 | ô | 帶音調符号的小寫字母 o |
245 | F5 | õ | 帶代字号的小寫字母 o |
246 | F6 | ö | 帶元音變音 (分音符号) 的小寫字母 o |
247 | F7 | oe | 小寫字母 oe 連字 2 |
248 | F8 | ø | 帶斜杠的小寫字母 o |
249 | F9 | ù | 帶重音符的小寫字母 u |
250 | FA | ú | 帶尖銳重音的小寫字母 u |
251 | FB | û | 帶音調符号的小寫字母 u |
252 | FC | ü | 帶元音變音 (分音符号) 的小寫字母 u |
253 | FD | ÿ | 帶元音變音 (分音符号) 的小寫字母 y 2 |
254 | FE | ||
255 |
作者:多測師進階講師_鄭sir
微信:ZhengYing8887
出處:https://www.cnblogs.com/ZhengYing0813/
備注:本文版權歸作者所有,歡迎轉載和添加作者微信探讨技術,但未經作者同意必須在文章頁面給出原文連結,否則保留追究法律責任的權利。