鍍金池/ 教程/ Python/ 寫一個簡單的程序
標準庫 (4)
如何成為 Python 高手
標準庫 (6)
標準庫 (3)
類(2)
Pandas 使用 (2)
xml
用 tornado 做網(wǎng)站 (5)
文件(1)
練習
列表(3)
從小工到專家
除法
錯誤和異常 (2)
函數(shù)(1)
用 tornado 做網(wǎng)站 (7)
為做網(wǎng)站而準備
函數(shù)練習
標準庫 (8)
Pandas 使用 (1)
回顧 list 和 str
字典(1)
用 tornado 做網(wǎng)站 (3)
字符串(1)
函數(shù)(2)
寫一個簡單的程序
將數(shù)據(jù)存入文件
語句(5)
SQLite 數(shù)據(jù)庫
集成開發(fā)環(huán)境(IDE)
集合(1)
類(1)
用 tornado 做網(wǎng)站 (6)
用 tornado 做網(wǎng)站 (2)
自省
語句(4)
錯誤和異常 (1)
用 tornado 做網(wǎng)站 (4)
集合(2)
列表(1)
標準庫 (1)
生成器
mysql 數(shù)據(jù)庫 (1)
第三方庫
實戰(zhàn)
運算符
類(3)
字典(2)
語句(1)
數(shù)和四則運算
語句(2)
文件(2)
MySQL 數(shù)據(jù)庫 (2)
電子表格
迭代器
mongodb 數(shù)據(jù)庫 (1)
特殊方法 (2)
特殊方法 (1)
字符編碼
編寫模塊
用 tornado 做網(wǎng)站 (1)
標準庫 (5)
函數(shù)(4)
類(5)
字符串(2)
關(guān)于 Python 的故事
函數(shù)(3)
字符串(4)
處理股票數(shù)據(jù)
常用數(shù)學函數(shù)和運算優(yōu)先級
字符串(3)
為計算做準備
多態(tài)和封裝
類(4)
迭代
語句(3)
錯誤和異常 (3)
分析 Hello
Python 安裝
標準庫 (2)
列表(2)
元組

寫一個簡單的程序

通過對四則運算的學習,已經(jīng)初步接觸了 Python 中內(nèi)容,如果看官是零基礎的學習者,可能有點迷惑了。難道敲幾個命令,然后看到結(jié)果,就算編程了?這也不是那些能夠自動運行的程序呀?

的確。到目前為止,還不能算編程,只能算會用一些指令(或者叫做命令)來做點簡單的工作。

稍安勿躁,下面就開始編寫一個真正的但是簡單程序。

程序

下面一段,關(guān)于程序的概念,內(nè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.

計算機程序(Computer Program)是指一組指示計算機或其他具有信息處理能力裝置每一步動作的指令,通常用某種程序設計語言編寫,運行于某種目標體系結(jié)構(gòu)上。打個比方,一個程序就像一個用漢語(程序設計語言)寫下的紅燒肉菜譜(程序),用于指導懂漢語和烹飪手法的人(體系結(jié)構(gòu))來做這個菜。

通常,計算機程序要經(jīng)過編譯和鏈接而成為一種人們不易看清而計算機可解讀的格式,然后運行。未經(jīng)編譯就可運行的程序,通常稱之為腳本程序(script)。

程序,簡而言之,就是指令的集合。但是,有的程序需要編譯,有的不需要。Python 編寫的程序就不需要,因此她也被稱之為解釋性語言,編程出來的層序被叫做腳本程序。在有的程序員頭腦中,有一種認為“編譯型語言比解釋性語言高價”的認識。這是錯誤的。不要認為編譯的就好,不編譯的就不好;也不要認為編譯的就“高端”,不編譯的就屬于“低端”。有一些做了很多年程序的程序員或者其它什么人,可能會有這樣的想法,這是毫無根據(jù)的。

不爭論。用得妙就是好。

用 IDLE 的編程環(huán)境

能夠?qū)?Python 程序的工具很多,比如記事本就可以。當然,很多人總希望能用一個專門的編程工具,Python 里面自帶了一個,作為簡單應用是足夠了。另外,可以根據(jù)自己的喜好用其它的工具,比如我用的是 vim,有不少人也用 eclipse,還有 notepad++,等等。軟件領(lǐng)域為編程提供了豐富多彩的工具。

以 Python 默認的 IDE 為例,如下所示:

操作:File->New window

http://wiki.jikexueyuan.com/project/start-learning-python/images/10501.png" alt="" />

這樣,就出現(xiàn)了一個新的操作界面,在這個界面里面,看不到用于輸入指令的提示符:>>>,這個界面有點像記事本。說對了,本質(zhì)上就是一個記事本,只能輸入文本,不能直接在里面貼圖片。

http://wiki.jikexueyuan.com/project/start-learning-python/images/10502.png" alt="" />

寫兩個大字:Hello,World

Hello,World.是面向世界的標志,所以,寫任何程序,第一句一定要寫這個,因為程序員是面向世界的,絕對不畏縮在某個局域網(wǎng)內(nèi),所以,所以看官要會科學上網(wǎng),才能真正與世界 Hello。

直接上代碼,就這么一行即可。

print "Hello,World"

如下圖的樣式

http://wiki.jikexueyuan.com/project/start-learning-python/images/10503.png" alt="" />

前面說過了,程序就是指令的集合,現(xiàn)在,這個程序里面,就一條指令。一條指令也可以成為集合。

注意觀察,菜單上有一個 RUN,點擊這個菜單,在下拉列表里面選擇 Run Module。

http://wiki.jikexueyuan.com/project/start-learning-python/images/10504.png" alt="" />

會彈出對話框,要求把這個文件保存,這就比較簡單了,保存到一個位置,看官一定要記住這個位置,并且取個文件名,文件名是以.py 為擴展名的。

都做好之后,點擊確定按鈕,就會發(fā)現(xiàn)在另外一個帶有 >>> 的界面中,就自動出來了 Hello,World 兩個大字。

成功了嗎?成功了也別興奮,因為還沒有到慶祝的時候。

在這種情況系,我們依然是在 IDLE 的環(huán)境中實現(xiàn)了剛才那段程序的自動執(zhí)行,如果脫離這個環(huán)境呢?

下面就關(guān)閉 IDLE,打開 shell(如果看官在使用蘋果的 Mac OS 操作系統(tǒng)或者某種 linux 發(fā)行版的操作系統(tǒng),比如我使用的是 ubuntu),或者打開 cmd(windows 操作系統(tǒng)的用戶,特別提醒用 windows 的用戶,使用 windows 不是你的錯,錯就錯在你只會使用鼠標點來點去,而不想也不會使用命令,更不想也不會使用 linux 的命令,還夢想成為優(yōu)秀程序員。),通過命令的方式,進入到你保存剛才的文件目錄。

下圖是我保存那個文件的地址,我把那個文件命名為 105.py,并保存在一個文件夾中。

http://wiki.jikexueyuan.com/project/start-learning-python/images/10505.png" alt="" />

然后在這個 shell 里面,輸入:Python 105.py

上面這句話的含義就是告訴計算機,給我運行一個 Python 語言編寫的程序,那個程序文件的名稱是 105.py

我的計算機我做主。于是它給我乖乖地執(zhí)行了這條命令。如下圖:

http://wiki.jikexueyuan.com/project/start-learning-python/images/10506.png" alt="" />

還在沉默?可以歡呼了,德國隊 7:1 勝巴西隊,列看官中,不管是德國隊還是巴西隊的粉絲,都可以歡呼,因為你在程序員道路上邁出了偉大的第二步(什么邁出的第一步?)。順便預測一下,本屆世界杯最終冠軍應該是:中國隊。(還有這么扯的嗎?)

解一道題目

請計算:19+2*4-8/2

代碼如下:

#!/usr/bin/env python
#coding:utf-8

"""
請計算:
19+2*4-8/2
"""

a = 19+2*4-8/2
print a

提醒初學者,別復制這段代碼,而是要一個字一個字的敲進去。然后保存(我保存的文件名是:105-1.py)。

在 shell 或者 cmd 中,執(zhí)行:Python (文件名.py)

執(zhí)行結(jié)果如下圖:

http://wiki.jikexueyuan.com/project/start-learning-python/images/10507.png" alt="" />

好像還是比較簡單。

下面對這個簡單程序進行一一解釋。

#!/usr/bin/env python

這一行是必須寫的,它能夠引導程序找到 Python 的解析器,也就是說,不管你這個文件保存在什么地方,這個程序都能執(zhí)行,而不用制定 Python 的安裝路徑。

#coding:utf-8

這一行是告訴 Python,本程序采用的編碼格式是 utf-8,什么是編碼?什么是 utf-8?這是一個比較復雜且有歷史的問題,此處暫不討論。只有有了上面這句話,后面的程序中才能寫漢字,否則就會報錯了??垂倏梢园涯愕某绦蛑械倪@行刪掉,看看什么結(jié)果?

"""
請計算:
19+2*4-8/2
"""

這一行是讓人看的,計算機看不懂。在 Python 程序中(別的編程語言也是如此),要寫所謂的注釋,就是對程序或者某段語句的說明文字,這些文字在計算機執(zhí)行程序的時候,被計算機姑娘忽略,但是,注釋又是必不可少的,正如前面說的那樣,程序在大多數(shù)情況下是給人看的。注釋就是幫助人理解程序的。

寫注釋的方式有兩種,一種是單行注釋,用 # 開頭,另外一種是多行注釋,用一對'''包裹起來。比如:

"""
請計算:
19+2*4-8/2
"""

# 開頭的注釋,可以像下面這樣來寫:

# 請計算:19+2*4-8/2

這種注釋通常寫在程序中的某個位置,比如某個語句的前面或者后面。計算機也會忽略這種注釋的內(nèi)容,只是給人看的。以 # 開頭的注釋,會在后面的編程中大量使用。

一般在程序的開頭部分,都要寫點東西,主要是告訴別人這個程序是用來做什么的。

a = 19+2*4-8/2

所謂語句,就是告訴程序要做什么事情。程序就是有各種各樣的語句組成的。這條語句,又有一個名字,叫做復制語句。19+2*4-8/2 是一個表達式,最后要計算出一個結(jié)果,這個結(jié)果就是一個對象(又遇到了對象這個術(shù)語。在某些地方的方言中,把配偶、男女朋友也稱之為對象,“對象”是一個應用很廣泛的術(shù)語)。= 不要理解為數(shù)學中的等號,它的作用不是等于,而是完成賦值語句中“賦值”的功能。a 就是變量。這樣就完成了一個賦值過程。

語句和表達式的區(qū)別:“表達式就是某件事”,“語句是做某件事”。

print a

這還是一個語句,稱之為 print 語句,就是要打印出 a 的值(這種說法不是非常非常嚴格,但是通??傔@么說。按照嚴格的說法,是打印變量 a 做對應的對象的值。嫌這種說法啰嗦,就直接說打印 a 的值)。

是不是在為看到自己寫的第一個程序而欣慰呢?


總目錄   |   上節(jié):常用數(shù)學函數(shù)和運算優(yōu)先級   |   下節(jié):字符串(1)

如果你認為有必要打賞我,請通過支付寶:qiwsir@126.com,不勝感激。