基石為勤能補(bǔ)拙的迷宮之旅——第二天(編程語(yǔ)言介紹篡殷、Python解釋器介紹與安裝、執(zhí)行Python程序的方式和變量)

一埋涧、編程語(yǔ)言介紹

1.1 機(jī)器語(yǔ)言

直接用計(jì)算機(jī)能理解的二進(jìn)制指令編寫程序板辽,直接控制硬件

1.2 匯編語(yǔ)言

用英文標(biāo)簽取代二進(jìn)制指令取編寫程序,本質(zhì)也是在直接控制硬件

1.3 高級(jí)語(yǔ)言

用人能理解的表達(dá)方式去編寫程序棘催,無(wú)需考慮硬件的操作細(xì)節(jié)

?????? 編譯型:類似于谷歌翻譯劲弦,運(yùn)行編譯型語(yǔ)言是相對(duì)于解釋型語(yǔ)言存在的,編譯型語(yǔ)言的首先將源代碼編譯生成機(jī)器語(yǔ)言巧鸭,再由機(jī)器運(yùn)行機(jī)器碼二進(jìn)制)瓶您。程序在執(zhí)行之前需要一個(gè)專門的編譯過(guò)程,把程序編譯成為機(jī)器語(yǔ)言的文件纲仍,運(yùn)行時(shí)不需要重新翻譯呀袱,直接使用編譯的結(jié)果就行了。程序執(zhí)行效率高郑叠,依賴編譯器夜赵,跨平臺(tái)性差些。如C乡革、C++寇僧、Delphi等都是編譯型語(yǔ)言摊腋。

?????? 解釋型:類似于同聲傳譯,相對(duì)于編譯型語(yǔ)言存在的嘁傀,源代碼不是直接翻譯成機(jī)器語(yǔ)言兴蒸,而是先翻譯成中間代碼,再由解釋器對(duì)中間代碼進(jìn)行解釋運(yùn)行细办。程序不需要編譯橙凳,程序在運(yùn)行時(shí)才翻譯成機(jī)器語(yǔ)言,每執(zhí)行一次都要翻譯一次笑撞,因此效率比較低岛啸,依賴解釋器,跨平臺(tái)性好茴肥。比如Python/JavaScript / Perl/Shell等都是解釋型語(yǔ)言坚踩。

1.4 不同語(yǔ)言的比較

執(zhí)行效率:機(jī)器語(yǔ)言 > 匯編語(yǔ)言 > 高級(jí)語(yǔ)言(編譯型 > 解釋型)

開(kāi)發(fā)效率:機(jī)器語(yǔ)言 < 匯編語(yǔ)言 < 高級(jí)語(yǔ)言(編譯型 < 解釋型)

跨平臺(tái)性:機(jī)器語(yǔ)言 < 匯編語(yǔ)言 < 高級(jí)語(yǔ)言(編譯型 < 解釋型)

二、Python解釋器介紹

當(dāng)我們編寫Python代碼時(shí)瓤狐,我們得到的是一個(gè)包含Python代碼的以.py為擴(kuò)展名的文本文件瞬铸。要運(yùn)行代碼,就需要Python解釋器去執(zhí)行.py文件

Python解釋器的種類

CPython:由C語(yǔ)言開(kāi)發(fā)芬首,是使用最廣的Python解釋器赴捞。

IPython:基于CPython之上的一個(gè)交互式解釋器,在交互方式上有所增強(qiáng)郁稍,但是執(zhí)行Python代碼的功能和CPython是完全一樣的。

PyPy:PyPy是另一個(gè)Python解釋器胜宇,它的目標(biāo)是執(zhí)行速度耀怜。PyPy采用JIT技術(shù),對(duì)Python代碼進(jìn)行動(dòng)態(tài)編譯(注意不是解釋)桐愉,所以可以顯著提高Python代碼的執(zhí)行速度财破。

Jython:Jython是運(yùn)行在Java平臺(tái)上的Python解釋器,可以直接把Python代碼編譯成Java字節(jié)碼執(zhí)行从诲。

IronPython:IronPython和Jython類似左痢,只不過(guò)IronPython是運(yùn)行在微軟.Net平臺(tái)上的Python解釋器,可以直接把Python代碼編譯成.Net的字節(jié)碼系洛。

三俊性、安裝Python解釋器

我們?cè)赑ython官網(wǎng)下載的官方解釋器就是CPython。早在2008年P(guān)ython3就推出描扯,但由于其不向下兼容Python2定页,很多公司拒絕升級(jí),時(shí)至今日绽诚,仍然有很多運(yùn)行的項(xiàng)目由Python2寫成典徊,所以多版本共存是我們當(dāng)前必需的杭煎。下面我將介紹一下如何實(shí)現(xiàn)Python多版本共存。

博主是Windows操作系統(tǒng)卒落,就以Windows版本Python2的安裝進(jìn)行演示羡铲。

首先我們先進(jìn)入Python官網(wǎng),點(diǎn)擊Download根據(jù)你自己的電腦操作系統(tǒng)選擇相對(duì)應(yīng)的Python版本下載

點(diǎn)擊下載即可儡毕,下載完成后我們開(kāi)始安裝犀勒。


Install for all users,所有用戶皆可使用,點(diǎn)擊Next妥曲。


默認(rèn)安裝路徑是C盤贾费,但是C盤一般是系統(tǒng)盤,所以我們安裝到D盤檐盟。


這里 Add python.exe to Path 默認(rèn)是關(guān)閉的褂萧,意為將python.exe加入環(huán)境變量,這里博主保持默認(rèn)葵萎,以便在后面講解添加環(huán)境變量的方法导犹,點(diǎn)擊Next。


這樣就Python2的解釋器就安裝完成羡忘,那我們?cè)撊绾螜z測(cè)有沒(méi)有安裝成功呢谎痢?Win鍵+R鍵,輸入cmd卷雕,進(jìn)入控制臺(tái)节猿,輸入指令D: 回車(進(jìn)入D盤),cd D:\python27 回車(進(jìn)入你解釋器的文件夾)漫雕,python 回車滨嘱。如果你出現(xiàn)下圖一樣的提示,恭喜你安裝成功浸间。

這樣每一次進(jìn)入python2的交互環(huán)境是不是很麻煩太雨?這就要引申出環(huán)境變量這個(gè)問(wèn)題,將安裝路徑加入環(huán)境變量魁蒜,我們直接輸入你需要運(yùn)行的程序(python2)就可進(jìn)入交互界面囊扳。

右鍵此電腦找到高級(jí)系統(tǒng)設(shè)置,單擊進(jìn)入后找到環(huán)境變量 兜看,在系統(tǒng)變量中找到Path锥咸,雙擊進(jìn)入編輯,將python2的安裝路徑加入铣减,同時(shí)將pip的路徑加入(可安裝第三方庫(kù))她君,完成后一路確定即可。


這時(shí)我們直接輸入python就可進(jìn)入交互葫哗。


至此缔刹,python2解釋器的安裝完美完成球涛。那么怎么實(shí)現(xiàn)Python多版本的共存呢?首先我們要先安裝Python3解釋器校镐,方法流程同Python2解釋器的安裝幾乎沒(méi)有差別亿扁,當(dāng)然你可以在安裝時(shí)直接將其加入環(huán)境變量。安裝完成后鸟廓,我們需要玩點(diǎn)小把戲从祝,我們將Python27下的程序復(fù)制一個(gè),重新命名為python2引谜,同理python37的復(fù)制后命名為python3牍陌。


之后進(jìn)入控制臺(tái)分別輸入python2和python3,如果看到下圖员咽,恭喜你多版本共存達(dá)成毒涧。


四、執(zhí)行Python程序的兩種方式

1. 交互式:即時(shí)得到命令的執(zhí)行結(jié)果贝室,通常用來(lái)調(diào)試代碼

2.命令行:python3 D:\test.txt

??????? ??? 2.1 注意:后綴名并不影響程序的執(zhí)行契讲,但是約定俗成是.py結(jié)尾

? ? ? ? ? ? 2.2 運(yùn)行python程序經(jīng)歷3個(gè)階段

????????????????????? 先啟動(dòng)python解釋器

????????????????????? python解釋器將test.txt文件的內(nèi)容當(dāng)成文本內(nèi)容讀入內(nèi)存(此時(shí)的python解釋器就像是一個(gè)文本編輯器)

? ? ? ? ? ? ? ? ? ? ? ?python解釋器解釋執(zhí)行剛剛讀入的內(nèi)存代碼

五、變量

1. 什么是變量

?????? 量指的是記錄事物的狀態(tài)

? ? ? ?變指的是事物的狀態(tài)是可以改變的

2.為何要用變量

??????? 為了讓計(jì)算機(jī)具備人記憶事物狀態(tài)的技能

3.如何用變量

??????? 3.1 先定義

?????????????? 定義三大組成部分:


????????????????????? 變量名answer(標(biāo)識(shí)符):變量名應(yīng)該能反映出事物的屬性

????????????????????? 賦值符=:把變量值綁定給變量名

????????????????????? 變量值:就是事物的狀態(tài)

??????? 3.2 后引用

????????????????????? 通過(guò)變量名引用值

????????????????????? 變量名是訪問(wèn)到值的唯一方式

??????? 3.3 變量名的命名

?????????????? 大前提:變量名應(yīng)該見(jiàn)名知意

?????????????? 語(yǔ)法規(guī)定:

????????????????????? 1.變量名由字母滑频、數(shù)字捡偏、下劃線組成

????????????????????? 2.不能以數(shù)字開(kāi)頭

????????????????????? 3.不能使用python的關(guān)鍵字

????????????????????? ['and','as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else','except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in','is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try','while', 'with', 'yield']

?????????????? 命名風(fēng)格:

????????????????????? 純小寫加下劃線(在python中,變量名的命名推薦使用該方式)

???????????????????????????? age_of_oldboy=73

????????????????????? 駝峰體(類命名推薦此方法)

???????????????????????????? AgeOfOldboy=73

??????? 3.4 常量

?????????????? AGE_OF_OLDBOY=83? 全部大寫

??????? 3.5 變量值具備兩種特征

?????????????? id:是變量值在內(nèi)存中的唯一標(biāo)識(shí)(根據(jù)內(nèi)存地址計(jì)算而來(lái)峡迷,內(nèi)存地址不同則id不同银伟,內(nèi)存地址相同則id相同)

?????????????? type:不同類型的值用來(lái)記錄不同的狀態(tài)

??????? 3.6 內(nèi)存管理

?????????????? 垃圾回收機(jī)制:引用計(jì)數(shù)

????????????????????? 引用計(jì)數(shù)增加

???????????????????????????? age=18? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# 18的引用計(jì)數(shù)為1

???????????????????????????? x=age? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 18的引用計(jì)數(shù)為2

????????????????????? 引用計(jì)數(shù)減少

???????????????????????????? delage? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# 18的引用計(jì)數(shù)減為1

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? x = 10? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# 18的引用計(jì)數(shù)減為0,此時(shí)18被回收凉当。

??????????????????????????? 若沒(méi)有del age這一步枣申,x = 10? ? ? ? ? ? ? ? ? #18的引用計(jì)數(shù)減為1,此時(shí)age = 18看杭。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市挟伙,隨后出現(xiàn)的幾起案子楼雹,更是在濱河造成了極大的恐慌,老刑警劉巖尖阔,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贮缅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡介却,警方通過(guò)查閱死者的電腦和手機(jī)谴供,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)齿坷,“玉大人桂肌,你說(shuō)我怎么就攤上這事数焊。” “怎么了崎场?”我有些...
    開(kāi)封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵佩耳,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我谭跨,道長(zhǎng)干厚,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任螃宙,我火速辦了婚禮蛮瞄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谆扎。我一直安慰自己挂捅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布燕酷。 她就那樣靜靜地躺著籍凝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪苗缩。 梳的紋絲不亂的頭發(fā)上饵蒂,一...
    開(kāi)封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音酱讶,去河邊找鬼退盯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛泻肯,可吹牛的內(nèi)容都是我干的渊迁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼灶挟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼琉朽!你這毒婦竟也來(lái)了柠傍?” 一聲冷哼從身側(cè)響起峭梳,我...
    開(kāi)封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎积蔚,沒(méi)想到半個(gè)月后惕医,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體耕漱,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年抬伺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了螟够。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖妓笙,靈堂內(nèi)的尸體忽然破棺而出若河,到底是詐尸還是另有隱情,我是刑警寧澤给郊,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布牡肉,位于F島的核電站,受9級(jí)特大地震影響淆九,放射性物質(zhì)發(fā)生泄漏统锤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一炭庙、第九天 我趴在偏房一處隱蔽的房頂上張望饲窿。 院中可真熱鬧,春花似錦焕蹄、人聲如沸逾雄。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸦泳。三九已至,卻和暖如春永品,著一層夾襖步出監(jiān)牢的瞬間做鹰,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工鼎姐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钾麸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓炕桨,卻偏偏與公主長(zhǎng)得像饭尝,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子献宫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容