Python Part1

1.什么是Python?

Python是一門高級語言倦蚪,你可能聽說過其他高級語言C,C++,Perl和Java边苹。不同與機器語言或者匯編語言个束,高級語言具有很大的優(yōu)勢。首先,高級語言寫就的程序需要的時間更少售睹,代碼更短昌妹,易讀性更高。再者烂叔,高級語言可移植性高固歪,可以在不同機器上不經(jīng)修改或少量修改就可運行胯努。

2.Python解釋器類型

Python程序由解釋器執(zhí)行叶沛。有兩種方式使用解釋器:交互模式和腳本模式灰署。交互模式中局嘁,你可以輸入Python程序悦昵,解釋器顯示結(jié)果:

>>> 1+1

2

你也可以將代碼存儲為文件,然后在解釋器中執(zhí)行腳本(文件中的內(nèi)容)独郎。默認(rèn)情況下氓癌,Python腳本的后綴名是.py贫橙。如果你有一個叫xxx.py的腳本,你可以在UNIX中命令窗口中疲迂,輸入python xxx.py來執(zhí)行腳本尤蒿。在其他的系統(tǒng)環(huán)境中幅垮,執(zhí)行腳本的細(xì)節(jié)有所不同,你可以訪問這里示弓。

3.什么是程序奏属?

程序是制定如何執(zhí)行一系列計算的操作潮峦。這里的計算不單單指數(shù)學(xué)計算勇婴,也包括符號計算,例如搜索和替換文檔中的文本咆耿,編譯程序等萨螺。

程序語言一般由以下5個步驟組成:

輸入:從鍵盤愧驱、文檔或者其他設(shè)備中獲取數(shù)據(jù)。

輸出:在屏幕上顯示數(shù)據(jù)或者向文件或其他設(shè)備發(fā)送數(shù)據(jù)吻商。

數(shù)學(xué):執(zhí)行基礎(chǔ)的數(shù)學(xué)運算艾帐,例如加法和乘法盆偿。

條件處理:匹配特定的條件事扭,執(zhí)行相應(yīng)的代碼。

重復(fù):重復(fù)執(zhí)行一些操作今野,通常是使用一些變量罐农。

4.什么是debugging?

程序是容易犯錯誤的涵亏。出于偶然的原因,程序錯誤被命名為bugs夹厌,追蹤它們的過程就叫做debugging裆悄。程序錯誤分為3種類型:語法錯誤光稼、運行時錯誤語義錯誤艾君。

4.1語法錯誤

Python只能執(zhí)行語法正確的程序冰垄,否則,解釋器會顯示一條錯誤的信息逝薪。語法指的是程序的結(jié)構(gòu)以及約束程序結(jié)構(gòu)的規(guī)則蝴罪。例如要门,圓括號必須成對出現(xiàn),所以(1+2) 是合法的封豪,但是8)是語法錯誤的狂巢。

4.2運行時錯誤

第二類錯誤叫做運行時錯誤唧领,之所以稱為運行時錯誤,是因為只有你運行了程序胯杭,錯誤才可能出現(xiàn)受啥。這些錯誤也被稱為例外滚局,因為它們表示一些不同的(壞的)事情發(fā)生了。

4.3語義錯誤

第三類錯誤是語義錯誤太闺。如果一個語義錯誤出現(xiàn)在你的程序中嘁圈,程序在某種程度上可以成功運行蟀淮,不會生成任何錯誤信息怠惶,但是程序不做你本來想做的事情轧粟。

問題所在是你寫的程序不是你想要的程序。程序的含義是錯誤的览妖。辨別語義錯誤是非常困難的揽祥,因為它需要你回頭看看程序輸出了什么,才能嘗試?yán)斫馑谧鲂┦裁础?/p>

4.4實驗debugging

你需要掌握的最重要的技能之一就是debugging府树。盡管它是令人沮喪的料按,debugging是程序中最考驗智力载矿,最富有挑戰(zhàn)和最有趣的環(huán)節(jié)之一。

在某種程度上弯洗,debugging類似偵探工作逢勾。面對線索,你必須推斷導(dǎo)致結(jié)果的過程和事件逃贝。debugging也類似實驗物理沐扳。一旦發(fā)現(xiàn)錯誤的情況,你就可以修改程序并再次嘗試沪摄。如果你的假設(shè)正確卓起,你可以預(yù)測修改的結(jié)果戏阅,以便離你的程序完成更近一步啤它。如果你的假設(shè)錯誤,你必須提出一個新的假設(shè)离赫。正如Sherlock Holms所說的:

“當(dāng)你排除不可能的情況渊胸,無論剩下的情況是多么的不可能台妆,都一定是事實∏欣澹” –A. Conan Doyle, The Sign of Four

對于一些人來說懊缺,programming和debugging是一樣的事情鹃两。programming是一個不斷debugging程序直到達(dá)到目的的過程。一個觀點是员萍,你應(yīng)該寫一段程序拣度,并在此之上做些小的修改,然后debugging程序筋帖,所以你總是在programming冤馏。

5.形式語言和自然語言

自然語言是人們交流使用的語言,例如漢語墩划、英語嗡综、西班牙語和法語。它們不是由人們設(shè)計的极景,而是自發(fā)形成的盼樟。

形式語言是人們?yōu)樘囟ǖ膽?yīng)用設(shè)計的語言。例如晨缴,數(shù)學(xué)家使用的標(biāo)記是一種專門表示數(shù)字和符號關(guān)系的形式語言击碗⊙佣迹化學(xué)家使用一種符號語言來表示分子的化學(xué)結(jié)構(gòu)。最重要的是:程序語言是專門設(shè)計表示計算的形式語言求摇。

形式語言具有嚴(yán)格的語法規(guī)則与境。例如猖吴,3 + 3 = 6 是語法正確的數(shù)學(xué)語句,但是3 + = 3$6不是共屈。

語法規(guī)則有兩個特點:token和structure拗引。Tokens是語言基本的要素矾削,諸如單詞、數(shù)字和化學(xué)要素哼凯。3 + = 3$6一個錯誤是$在數(shù)學(xué)中不是合法的token。語法規(guī)則的第二類是語句的結(jié)構(gòu)猎贴,即tokens組合的方式。語句 3 + = 3是非法的虱疏,即使+苏携、=是合法的tokens,但是你不能在一個tokens后面使用另一個tokens装蓬。

盡管形式語言和自然語言在很多方面是相同的-tokens牍帚、structure乳蛾、語法和語義,但是它們也有一些不同之處:

歧義:自然語言充滿歧義蹂随,人們通過使用上下文線索和其他信息來辨別岳锁。形式語言設(shè)計成幾乎或者完全明確的蹦魔,這意味著任何語句只能有一種含義。

冗余:為了補償歧義和減少誤解柱搜,自然語言使用了大量冗余聪蘸。結(jié)果,它們常常很啰嗦控乾。形式語言更少冗余蜕衡,更加簡潔慨仿。

表面意義:自然語言充滿了成語和隱喻纳胧。如果我說“一枚便士掉落了”跑慕,可能根本沒有便士或者什么東西掉落(這個成語意味著一個人在一陣疑惑之后核行,意識到一些事情)芝雪。形式語言只有表面的含義惩系。

這里有一些建議關(guān)于閱讀代碼佳励。首先,記住形式語言比自然語言更加難懂蛆挫,所以閱讀它們花費的時間更長赃承。再者,結(jié)構(gòu)是非常重要的悴侵,通常從上往下瞧剖,從左往右閱讀不是一個好主意。與之相反可免,學(xué)會在你的大腦中分析程序抓于,識別標(biāo)記和解釋結(jié)構(gòu)。最后浇借,細(xì)節(jié)很重要捉撮。細(xì)小的拼寫錯誤和標(biāo)點錯誤,都會在形式語言都會影響重大妇垢。

6.第一個程序

在Python中巾遭,打印“Hello World”。

print 'Hello, World!'

這是一個打印語句的例子炫乓,它不會在紙上打印任何東西。它將在屏幕上顯示一個值箩做,這里這個值是:

Hello, World!

程序中的雙引號標(biāo)識需要顯示文本的開始和結(jié)尾咖熟,它們不會出現(xiàn)在結(jié)果中。在Python 3中,打印語法有點不一樣:

print ('Hello, World!')

圓括號表示方法print是函數(shù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捉偏,一起剝皮案震驚了整個濱河市霞掺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剩彬,老刑警劉巖轻黑,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抖拦,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機耗啦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門似将,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枉阵,“玉大人侦厚,你說我怎么就攤上這事。” “怎么了篮灼?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我祭阀,道長,這世上最難降的妖魔是什么赢底? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮流码,結(jié)果婚禮上驾荣,老公的妹妹穿的比我還像新娘劫哼。我一直安慰自己妻率,他們只是感情好孤里,可當(dāng)我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著沸毁,像睡著了一般徐紧。 火紅的嫁衣襯著肌膚如雪稻励。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天,我揣著相機與錄音唐片,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛八回,可吹牛的內(nèi)容都是我干的士败。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼庐橙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起顺囊,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤份乒,失蹤者是張志新(化名)和其女友劉穎腕唧,沒想到半個月后膀曾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡斩狱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年陆蟆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片截歉。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡毫胜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出诬辈,到底是詐尸還是另有隱情酵使,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布焙糟,位于F島的核電站口渔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏穿撮。R本人自食惡果不足惜缺脉,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望悦穿。 院中可真熱鬧攻礼,春花似錦、人聲如沸栗柒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至太伊,卻和暖如春雇锡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背僚焦。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工锰提, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芳悲。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓立肘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親名扛。 傳聞我的和親對象是個殘疾皇子谅年,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,055評論 2 355

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