最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Python入門三部曲 | 第一節(jié)課:基礎入門

2020-09-12 17:52 作者:軟件測試檸檬班Pro  | 我要投稿

Python10 行代碼加密文件

——三節(jié)課讓你弄清自己到底適不適合學習編程

針對人群: 零基礎想學習 python,又怕自己學不會,懷疑自己是不是適合學習編程的童鞋。

這一節(jié)課主要是掃盲,很多同學可能連 python 運行環(huán)境都沒有搭建好。

python 運行環(huán)境搭建

python 是一門解釋型編程語言,python 代碼是通過 python 解釋器解釋后交給計算機執(zhí)行的。

所以 python 運行環(huán)境的搭建主要是安裝 python 解釋器。

python 版本區(qū)別

目前 python 有兩個大的版本,2.X 和 3.X。2.X 是遺產(chǎn),3.X 是未來。除非特殊情況,新手建議學習 3.X。

下載安裝 python 解釋器

訪問 python 官網(wǎng),下載解釋器安裝包。

注意按照操作系統(tǒng)下載對應版本。

下載后雙擊安裝文件會出現(xiàn)如下界面

記得勾選添加環(huán)境變量,然后就是下一步下一步,一般情況下都會正常安裝成功。

cmd 命令行工具

全黑的窗口,滿屏的像瀑布一樣流動的英文,這是電影中黑客出場的畫面。

cmd 命令行工具就滿足這個要求,在 windows 系統(tǒng)中,win 鍵 +R 鍵彈出運行窗口

輸入 cmd 確定就會打開命令行工具。

一般情況會打開如下窗口

不同版本,可能會有配色的不同,但功能一致。

其實這就是一個名字為 cmd.exe 的程序,感興趣的同學可以在電腦中找下它的位置。

它有一個很重要的作用就是能夠通過程序名自動調(diào)用對應的程序,而不需要去找到可執(zhí)行文件雙擊執(zhí)行。

例如,可以在命令行鍵入 notepad 回車,你會發(fā)現(xiàn)居然打開了記事本。

那是因為記事本這個程序的程序名就是 notepad.exe,機靈的小可愛就會聯(lián)想 QQ 的程序名是 qq.exe 那么,那么在命令行中輸入 QQ 是不是也可以打開 QQ 呢?

結果多半如下:

這是為什么呢?

其實 cmd 在接收到用戶輸入的命令后,會去電腦中搜索同名的程序或者批處理等文件,但是為了效率,它不會查找每個文件夾。

那它會去哪些文件夾中搜索呢?

環(huán)境變量

環(huán)境變量其實是一系列常用程序所在路徑的集合,記事本程序的路徑存在默認的環(huán)境變量中所以可以通過命令行打開,QQ 程序的路徑不在環(huán)境變量中,所以打不開。

windows 系統(tǒng)設置環(huán)境變量的步驟如下:
右鍵【我的電腦】-【屬性】-【高級系統(tǒng)設置】-【環(huán)境變量】

在用戶變量中找到環(huán)境變量 path,如果沒有就新建一個 path 變量。

點擊編輯,將 QQ 程序路徑添加到 path 中。

然后重新打開命令行工具應用新的環(huán)境變量,再次鍵入 qq 你就可以打開 QQ 啦。

如果在安裝 python 解釋器的時候忘記勾選添加環(huán)境變量,也可以通過手動設置環(huán)境變量,然后在命令行中就可以運行 python 命令啦。

在命令行中鍵入 python 命令,出現(xiàn)如下窗口表示運行環(huán)境搭建成功。

python 代碼的運行

python 代碼的運行方式有兩種:

交互式

在命令行窗口輸入命令

python

進入 python 解釋器交互式客戶端,在窗口中輸入任意 python 代碼,客戶端窗口都會立即返回運行結
果,當關閉客戶端窗口后,代碼不會保存。這種方式一般用來進行測試,不是正式的運行方式。

腳本式

任意文本編輯工具都可以進行 python 代碼的編寫 ,在桌面新建一個文本文檔,寫入如下代碼

print('hello world')

然后保存(盡量不要使用記事本直接編輯代碼)。現(xiàn)在這個文本文檔就是一個 python 的源代碼文件,通
常稱為 python 腳本文件,通常我們會將 python 腳本文件的后綴改為 .py 。

python 代碼本質(zhì)上是通過 python 解釋器解釋成機器碼后交由計算機執(zhí)行的。

在命令行輸入命令

python 腳本文件路徑

就可以運行對應的腳本代碼。


文件概述

什么是文件

計算機文件是一個存儲在存儲器上的數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容。概念上,文件是數(shù)據(jù)的集合和抽象。用文件形式組織和表達數(shù)據(jù)更有效也更為靈活。文件包括兩種類型:文本文件和二進制文件。

文件本質(zhì)上都是存儲在存儲器上的二進制數(shù)據(jù)。

使用 HexEditor 可以以 16 進制的方式打開任何文件。

特別的是文本文件遵循統(tǒng)一的字符編碼,在打開時,計算機會根據(jù)字符編碼解析成編碼表上對應的字符。

二進制文件和文本文件本質(zhì)上沒有區(qū)別,只是沒有統(tǒng)一的編碼,需要根據(jù)特定的程序進行解析和運行。

無論是文本文件還是二進制文件都可以用"文本文件方式"和"二進制文件方式"打開,打開后的操作不同。

字符編碼

計算機底層只能表示二進制信息,不能直接表示文字。計算機顯示給我們看的文字可以看做是很小的一張張字符的圖片。但如果文字都以圖片進行存儲和傳輸,圖片體積非常大,從而效率會變得很低。

所以計算機科學家將這些單個字符圖片放到一個文件中,這個文件就是字體文件。再給每個字符一個編號,存儲傳輸時就用字符的編號。這個編號表就是字符編碼(簡單這么理解)。

文本文件存儲的就是每個字符的編號,計算機在打開文本文件時,會根據(jù)指定的編碼,去編碼表中查詢一個一個的字符,再渲染給用戶。

ascii 碼

因為歷史原因,字符編碼有很多。最先發(fā)明的是 ascii 碼。

總共 127 個字符,因此使用一個字節(jié)(8 位二進制)來表示,也即是一個字符占一個字節(jié)的大小。

在記事本中鍵入 abc123+-*/,然后使用 HexEditor 打開后發(fā)現(xiàn)跟上面的編碼表是一致的。

gb2312

可以看到 ascii 碼里只有英文字母和常見字符,沒有中文,以及世界上其他國家的文字。隨著計算機的發(fā)展,各國都創(chuàng)建了自己國家的計算機字符編碼。

1980 年中國發(fā)布了 gb2312, GB2312 是一個簡體中文字符集,由 6763 個常用漢字和 682 個全角的非漢字字符組成。

gb2312 使用兩個字節(jié)表示一個漢字。

通過字符串的 encode 方法可以根據(jù)字符編碼進行編碼

'中'.encode('gb2312')

b'\xd6\xd0'

gbk

GB2312 的出現(xiàn),基本滿足了漢字的計算機處理需要,但對于人名、古漢語等方面出現(xiàn)的罕用字,GB 2312 不能處理,這導致了后來 GBK 及 GB18030 漢字字符集的出現(xiàn)。

GBK 即漢字內(nèi)碼擴展規(guī)范,K 為擴展的漢語拼音中“擴”字的聲母。GBK 編碼標準兼容 GB2312,共收錄漢字 21003 個、符號 883 個,并提供 1894 個造字碼位,簡、繁體字融于一庫。

gbk 也是使用兩個字節(jié)表示一個漢字。

'中'.encode('gbk')

b'\xd6\xd0'

'囙'.encode('gb2312')

UnicodeEncodeError Traceback (most recent call last)

in
----> 1 '囙'.encode('gb2312')

UnicodeEncodeError: 'gb2312' codec can't encode character '\u56d9' in position 0: illegal multibyte sequence

'囙'.encode('gbk')

b'\x87\xe0'

unicode

世界上存在著多種編碼方式,同一個編碼值,在不同的編碼體系里代表著不同的字。要想打開一個文本文件,不但要知道它的編碼方式,還要安裝有對應編碼表,否則就可能無法讀取或出現(xiàn)亂碼。

我上大學時玩電腦游戲最大的問題就是亂碼。

以日文的編碼方式創(chuàng)建一個文本文件寫入 やめて,然后用記事本打開會顯示如下:

這個問題促使了 unicode 碼的誕生。

unicode 將世界上所有的符號都納入其中,無論是英文、日文、還是中文等,大家都使用這個編碼表,就不會出現(xiàn)編碼不匹配現(xiàn)象。每個符號對應一個唯一的編碼,亂碼問題就不存在了。

Unicode 固然統(tǒng)一了編碼方式,但是它的效率不高,比如 UCS-4(Unicode 的標準之一)規(guī)定用 4 個字節(jié)存儲一個符號,那么每個英文字母前都必然有三個字節(jié)是 0,這對存儲和傳輸來說都很耗資源。

將之前寫有 abc123+-*\ 的文件用記事本另存為 unicode 會發(fā)現(xiàn)文件的體積大了一倍。(本來應該是 4 倍,windows 做了優(yōu)化)

utf-8

為了提高 Unicode 的編碼效率,于是就出現(xiàn)了 UTF-8 編碼。UTF-8 可以根據(jù)不同的符號自動選擇編碼的長短。比如英文字母可以只用 1 個字節(jié)就夠了。"漢"字的 Unicode 編碼是 U+00006C49,然后把 U+00006C49 通過 UTF-8 編碼器進行編碼,最后輸出的 UTF-8 編碼是 E6B189。utf-8 中漢字使用 3 個字節(jié)存儲。

'a'.encode('utf-8')

b'a'

'中'.encode('utf-8')

b'\xe4\xb8\xad'
注意為了統(tǒng)一 python3 在內(nèi)存中所有的字符都采用 unicode。

本文作者為檸檬班心藍老師,轉(zhuǎn)載請注明出處。

Python入門三部曲 | 第一節(jié)課:基礎入門的評論 (共 條)

分享到微博請遵守國家法律
宾阳县| 绍兴市| 农安县| 逊克县| 鄂尔多斯市| 沁水县| 宣武区| 达日县| 鄯善县| 共和县| 仁寿县| 九江市| 滦平县| 工布江达县| 加查县| 封丘县| 宁城县| 鄯善县| 二连浩特市| 金平| 南宁市| 确山县| 宁河县| 禄丰县| 汕头市| 海城市| 纳雍县| 庆安县| 平武县| 阜城县| 江门市| 车险| 韶关市| 乐业县| 凉山| 云和县| 徐闻县| 镇安县| 清水河县| 饶平县| 阿合奇县|