通過(guò)對(duì)四則運(yùn)算的學(xué)習(xí),已經(jīng)初步接觸了 Python 中內(nèi)容,如果看官是零基礎(chǔ)的學(xué)習(xí)者,可能有點(diǎn)迷惑了。難道敲幾個(gè)命令,然后看到結(jié)果,就算編程了?這也不是那些能夠自動(dòng)運(yùn)行的程序呀?
的確。到目前為止,還不能算編程,只能算會(huì)用一些指令(或者叫做命令)來(lái)做點(diǎn)簡(jiǎn)單的工作。
稍安勿躁,下面就開(kāi)始編寫(xiě)一個(gè)真正的但是簡(jiǎn)單程序。
下面一段,關(guān)于程序的概念,內(nèi)容來(lái)自維基百科:
A computer program, or just a program, is a sequence of instructions, written to perform a specified task with a computer.[1] A computer requires programs to function, typically executing the program's instructions in a central processor.[2] The program has an executable form that the computer can use directly to execute the instructions. The same program in its human-readable source code form, from which executable programs are derived (e.g., compiled), enables a programmer to study and develop its algorithms. A collection of computer programs and related data is referred to as the software.
Computer source code is typically written by computer programmers.[3] Source code is written in a programming language that usually follows one of two main paradigms: imperative or declarative programming. Source code may be converted into an executable file (sometimes called an executable program or a binary) by a compiler and later executed by a central processing unit. Alternatively, computer programs may be executed with the aid of an interpreter, or may be embedded directly into hardware.
Computer programs may be ranked along functional lines: system software and application software. Two or more computer programs may run simultaneously on one computer from the perspective of the user, this process being known as multitasking.
計(jì)算機(jī)程序(Computer Program)是指一組指示計(jì)算機(jī)或其他具有信息處理能力裝置每一步動(dòng)作的指令,通常用某種程序設(shè)計(jì)語(yǔ)言編寫(xiě),運(yùn)行于某種目標(biāo)體系結(jié)構(gòu)上。打個(gè)比方,一個(gè)程序就像一個(gè)用漢語(yǔ)(程序設(shè)計(jì)語(yǔ)言)寫(xiě)下的紅燒肉菜譜(程序),用于指導(dǎo)懂漢語(yǔ)和烹飪手法的人(體系結(jié)構(gòu))來(lái)做這個(gè)菜。
通常,計(jì)算機(jī)程序要經(jīng)過(guò)編譯和鏈接而成為一種人們不易看清而計(jì)算機(jī)可解讀的格式,然后運(yùn)行。未經(jīng)編譯就可運(yùn)行的程序,通常稱之為腳本程序(script)。
程序,簡(jiǎn)而言之,就是指令的集合。但是,有的程序需要編譯,有的不需要。Python 編寫(xiě)的程序就不需要,因此她也被稱之為解釋性語(yǔ)言,編程出來(lái)的層序被叫做腳本程序。在有的程序員頭腦中,有一種認(rèn)為“編譯型語(yǔ)言比解釋性語(yǔ)言高價(jià)”的認(rèn)識(shí)。這是錯(cuò)誤的。不要認(rèn)為編譯的就好,不編譯的就不好;也不要認(rèn)為編譯的就“高端”,不編譯的就屬于“低端”。有一些做了很多年程序的程序員或者其它什么人,可能會(huì)有這樣的想法,這是毫無(wú)根據(jù)的。
不爭(zhēng)論。用得妙就是好。
能夠?qū)?Python 程序的工具很多,比如記事本就可以。當(dāng)然,很多人總希望能用一個(gè)專門(mén)的編程工具,Python 里面自帶了一個(gè),作為簡(jiǎn)單應(yīng)用是足夠了。另外,可以根據(jù)自己的喜好用其它的工具,比如我用的是 vim,有不少人也用 eclipse,還有 notepad++,等等。軟件領(lǐng)域?yàn)榫幊烫峁┝素S富多彩的工具。
以 Python 默認(rèn)的 IDE 為例,如下所示:
操作:File->New window
http://wiki.jikexueyuan.com/project/start-learning-python/images/10501.png" alt="" />
這樣,就出現(xiàn)了一個(gè)新的操作界面,在這個(gè)界面里面,看不到用于輸入指令的提示符:>>>,這個(gè)界面有點(diǎn)像記事本。說(shuō)對(duì)了,本質(zhì)上就是一個(gè)記事本,只能輸入文本,不能直接在里面貼圖片。
http://wiki.jikexueyuan.com/project/start-learning-python/images/10502.png" alt="" />
Hello,World.是面向世界的標(biāo)志,所以,寫(xiě)任何程序,第一句一定要寫(xiě)這個(gè),因?yàn)槌绦騿T是面向世界的,絕對(duì)不畏縮在某個(gè)局域網(wǎng)內(nèi),所以,所以看官要會(huì)科學(xué)上網(wǎng),才能真正與世界 Hello。
直接上代碼,就這么一行即可。
print "Hello,World"
如下圖的樣式
http://wiki.jikexueyuan.com/project/start-learning-python/images/10503.png" alt="" />
前面說(shuō)過(guò)了,程序就是指令的集合,現(xiàn)在,這個(gè)程序里面,就一條指令。一條指令也可以成為集合。
注意觀察,菜單上有一個(gè) RUN,點(diǎn)擊這個(gè)菜單,在下拉列表里面選擇 Run Module。
http://wiki.jikexueyuan.com/project/start-learning-python/images/10504.png" alt="" />
會(huì)彈出對(duì)話框,要求把這個(gè)文件保存,這就比較簡(jiǎn)單了,保存到一個(gè)位置,看官一定要記住這個(gè)位置,并且取個(gè)文件名,文件名是以.py 為擴(kuò)展名的。
都做好之后,點(diǎn)擊確定按鈕,就會(huì)發(fā)現(xiàn)在另外一個(gè)帶有 >>> 的界面中,就自動(dòng)出來(lái)了 Hello,World 兩個(gè)大字。
成功了嗎?成功了也別興奮,因?yàn)檫€沒(méi)有到慶祝的時(shí)候。
在這種情況系,我們依然是在 IDLE 的環(huán)境中實(shí)現(xiàn)了剛才那段程序的自動(dòng)執(zhí)行,如果脫離這個(gè)環(huán)境呢?
下面就關(guān)閉 IDLE,打開(kāi) shell(如果看官在使用蘋(píng)果的 Mac OS 操作系統(tǒng)或者某種 linux 發(fā)行版的操作系統(tǒng),比如我使用的是 ubuntu),或者打開(kāi) cmd(windows 操作系統(tǒng)的用戶,特別提醒用 windows 的用戶,使用 windows 不是你的錯(cuò),錯(cuò)就錯(cuò)在你只會(huì)使用鼠標(biāo)點(diǎn)來(lái)點(diǎn)去,而不想也不會(huì)使用命令,更不想也不會(huì)使用 linux 的命令,還夢(mèng)想成為優(yōu)秀程序員。),通過(guò)命令的方式,進(jìn)入到你保存剛才的文件目錄。
下圖是我保存那個(gè)文件的地址,我把那個(gè)文件命名為 105.py,并保存在一個(gè)文件夾中。
http://wiki.jikexueyuan.com/project/start-learning-python/images/10505.png" alt="" />
然后在這個(gè) shell 里面,輸入:Python 105.py
上面這句話的含義就是告訴計(jì)算機(jī),給我運(yùn)行一個(gè) Python 語(yǔ)言編寫(xiě)的程序,那個(gè)程序文件的名稱是 105.py
我的計(jì)算機(jī)我做主。于是它給我乖乖地執(zhí)行了這條命令。如下圖:
http://wiki.jikexueyuan.com/project/start-learning-python/images/10506.png" alt="" />
還在沉默?可以歡呼了,德國(guó)隊(duì) 7:1 勝巴西隊(duì),列看官中,不管是德國(guó)隊(duì)還是巴西隊(duì)的粉絲,都可以歡呼,因?yàn)槟阍诔绦騿T道路上邁出了偉大的第二步(什么邁出的第一步?)。順便預(yù)測(cè)一下,本屆世界杯最終冠軍應(yīng)該是:中國(guó)隊(duì)。(還有這么扯的嗎?)
請(qǐng)計(jì)算:19+2*4-8/2
代碼如下:
#!/usr/bin/env python
#coding:utf-8
"""
請(qǐng)計(jì)算:
19+2*4-8/2
"""
a = 19+2*4-8/2
print a
提醒初學(xué)者,別復(fù)制這段代碼,而是要一個(gè)字一個(gè)字的敲進(jìn)去。然后保存(我保存的文件名是:105-1.py)。
在 shell 或者 cmd 中,執(zhí)行:Python (文件名.py)
執(zhí)行結(jié)果如下圖:
http://wiki.jikexueyuan.com/project/start-learning-python/images/10507.png" alt="" />
好像還是比較簡(jiǎn)單。
下面對(duì)這個(gè)簡(jiǎn)單程序進(jìn)行一一解釋。
#!/usr/bin/env python
這一行是必須寫(xiě)的,它能夠引導(dǎo)程序找到 Python 的解析器,也就是說(shuō),不管你這個(gè)文件保存在什么地方,這個(gè)程序都能執(zhí)行,而不用制定 Python 的安裝路徑。
#coding:utf-8
這一行是告訴 Python,本程序采用的編碼格式是 utf-8,什么是編碼?什么是 utf-8?這是一個(gè)比較復(fù)雜且有歷史的問(wèn)題,此處暫不討論。只有有了上面這句話,后面的程序中才能寫(xiě)漢字,否則就會(huì)報(bào)錯(cuò)了??垂倏梢园涯愕某绦蛑械倪@行刪掉,看看什么結(jié)果?
"""
請(qǐng)計(jì)算:
19+2*4-8/2
"""
這一行是讓人看的,計(jì)算機(jī)看不懂。在 Python 程序中(別的編程語(yǔ)言也是如此),要寫(xiě)所謂的注釋,就是對(duì)程序或者某段語(yǔ)句的說(shuō)明文字,這些文字在計(jì)算機(jī)執(zhí)行程序的時(shí)候,被計(jì)算機(jī)姑娘忽略,但是,注釋又是必不可少的,正如前面說(shuō)的那樣,程序在大多數(shù)情況下是給人看的。注釋就是幫助人理解程序的。
寫(xiě)注釋的方式有兩種,一種是單行注釋,用 # 開(kāi)頭,另外一種是多行注釋,用一對(duì)'''包裹起來(lái)。比如:
"""
請(qǐng)計(jì)算:
19+2*4-8/2
"""
用 # 開(kāi)頭的注釋,可以像下面這樣來(lái)寫(xiě):
# 請(qǐng)計(jì)算:19+2*4-8/2
這種注釋通常寫(xiě)在程序中的某個(gè)位置,比如某個(gè)語(yǔ)句的前面或者后面。計(jì)算機(jī)也會(huì)忽略這種注釋的內(nèi)容,只是給人看的。以 # 開(kāi)頭的注釋,會(huì)在后面的編程中大量使用。
一般在程序的開(kāi)頭部分,都要寫(xiě)點(diǎn)東西,主要是告訴別人這個(gè)程序是用來(lái)做什么的。
a = 19+2*4-8/2
所謂語(yǔ)句,就是告訴程序要做什么事情。程序就是有各種各樣的語(yǔ)句組成的。這條語(yǔ)句,又有一個(gè)名字,叫做復(fù)制語(yǔ)句。19+2*4-8/2 是一個(gè)表達(dá)式,最后要計(jì)算出一個(gè)結(jié)果,這個(gè)結(jié)果就是一個(gè)對(duì)象(又遇到了對(duì)象這個(gè)術(shù)語(yǔ)。在某些地方的方言中,把配偶、男女朋友也稱之為對(duì)象,“對(duì)象”是一個(gè)應(yīng)用很廣泛的術(shù)語(yǔ))。= 不要理解為數(shù)學(xué)中的等號(hào),它的作用不是等于,而是完成賦值語(yǔ)句中“賦值”的功能。a 就是變量。這樣就完成了一個(gè)賦值過(guò)程。
語(yǔ)句和表達(dá)式的區(qū)別:“表達(dá)式就是某件事”,“語(yǔ)句是做某件事”。
print a
這還是一個(gè)語(yǔ)句,稱之為 print 語(yǔ)句,就是要打印出 a 的值(這種說(shuō)法不是非常非常嚴(yán)格,但是通??傔@么說(shuō)。按照嚴(yán)格的說(shuō)法,是打印變量 a 做對(duì)應(yīng)的對(duì)象的值。嫌這種說(shuō)法啰嗦,就直接說(shuō)打印 a 的值)。
是不是在為看到自己寫(xiě)的第一個(gè)程序而欣慰呢?
總目錄 | 上節(jié):常用數(shù)學(xué)函數(shù)和運(yùn)算優(yōu)先級(jí) | 下節(jié):字符串(1)
如果你認(rèn)為有必要打賞我,請(qǐng)通過(guò)支付寶:qiwsir@126.com,不勝感激。