上章我們講完了文本編輯器讀取文件的三個步驟。
我們接下去講運行python程序的步驟。
第一個階段就是啟動python解釋器,把python解釋器的代碼從硬盤讀到內(nèi)存,然后cpu執(zhí)行。
這樣python解釋器就啟動起來了,這個時候就相當于啟動了一個文本編輯器。
第二個階段會把硬盤里的后綴名為py文件,從硬盤讀到內(nèi)存。
現(xiàn)在內(nèi)存里就有兩種程序了,一種是官方的c語言寫的python解釋器,另一種是用我們python語言寫的程序。
第三個階段它就不會像文本編輯器那邊要把內(nèi)容打印到屏幕上了,而是把里面的內(nèi)容當成python的語法,開始識別。
識別你定義的變量,識別你寫的語法,if判斷、for循環(huán)等等。
這就是文本編輯器和python解釋器的區(qū)別。
所以說我們寫的python文件,后綴名變成什么后綴都沒關(guān)系,你命名成MP4都行,只要里面寫的內(nèi)容是符合python語法的,就可以運行。
都是運行python解釋器,讀取文件,然后識別語法。
我在桌面上,新建一個TXT文件,然后里面寫print‘hello,world’。
再把桌面上的111.txt文件拖入pycharm界面。同樣會顯示我輸入的內(nèi)容。
我們現(xiàn)在來思考一下,python解釋器執(zhí)行python文件,分為三個階段,那到底是哪些階段涉及到字符編碼的概念呢?
前面我們說過,只要是文本文件的讀和寫,一定會涉及到字符編碼的概念,而前面兩個階段是讀取文本文件,把程序讀到內(nèi)存。
所以說前面兩個階段會涉及到字符編碼的概念。
然后我們開看第三個階段,識別語法,其中有一種語法是定義個字符串變量。
比如我定義一個變量。
name = '于謙'
當python解釋器識別到這行代碼的時候,是不是就會是申請空間,把于謙這串字符串存到內(nèi)存空間里面去。
這里涉及到了字符的保存,那就有涉及到字符編碼的概念了,所以我們講的這個字符編碼,最終會用到兩個地方。
第一就是在python程序運行的前兩個階段,你要保證在前兩個階段不會出現(xiàn)亂碼的情況。
第二就是第三個階段,執(zhí)行到變量丁酉這個語法的時候要保證不亂碼。
這些就是我們學字符編碼前需要了解的知識。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 字符編碼前戲2