Python第2課 - 第一個Python程序

在本節(jié)課中,你將運行自己的第一個程序 —— hello_world.py。在這之前,需要熟悉兩個概念:命令行模式和Python交互模式。同時掌握輸入和輸出。

1. 命令行模式和Python交互模式

1.1 命令行模式

MAC 直接打開終端,也可在"應(yīng)用程序 - 實用工具 - 終端"中找到,它的提示符類似這樣Macbook:~cunxi$,美元符號的前面是用戶名。

Last login: Tue Dec 19 21:34:57 on ttys000

Macbook-pro-2:~ cunxi $

Windows 電腦,選擇開始菜單、選擇“命令提示符”,就進入到命令行模式,它的提示符類似這樣C:\>:

Microsoft Windows [Version 10.0.0]

(c) 2015 Microsoft Corporation. All rights reserved.

C:\> _

1.2 Python交互模式

在命令行模式下敲命令:

$ python

看到類似如下的一堆文本輸出,然后就進入到Python交互模式,它的提示符是 >>> 。

$ python

Python 3.6.2 |Anaconda, Inc.| (default, Sep 21 2017, 18:29:43)

[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>>

在Python交互模式下輸入exit() 并回車,就退出了Python交互模式,并回到命令行模式:

$ python

Python 3.6.2 |Anaconda, Inc.| (default, Sep 21 2017, 18:29:43)

[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> exit()

$

還可以找到安裝的應(yīng)用程序,選擇IDLE雙擊打開,這種方式打開時,輸入exit() 后會關(guān)閉當前窗口,不會回到命令行模式。

了解了如何啟動和退出Python的交互模式,我們就可以正式開始編寫Python代碼了。

在寫代碼之前,千萬不要用“復制”、“粘貼”把代碼從頁面粘貼到你自己的電腦上。寫程序也講究一個感覺,你需要一個字母一個字母地把代碼自己敲進去,在敲代碼的過程中,初學者經(jīng)常會敲錯代碼:拼寫不對,大小寫不對,混用中英文標點,混用空格和Tab鍵,所以,你需要仔細地檢查、對照,才能以最快的速度掌握如何寫程序。

在交互模式的提示符>>>下,直接輸入代碼,按回車,就可以立刻得到代碼執(zhí)行結(jié)果。現(xiàn)在,試試輸入100+200,看看計算結(jié)果是不是300:

>>> 100 + 200

300

如果要讓Python打印出指定的文字,可以用print()函數(shù),然后把希望打印的文字用單引號或者雙引號括起來,但不能混用單引號和雙引號:

>>> print('hello, world')

hello,world

這種用單引號或者雙引號括起來的文本在程序中叫字符串,今后我們還會經(jīng)常遇到。

最后,用exit()退出Python,我們的第一個Python程序完成!唯一的缺憾是沒有保存下來,下次運行時還要再輸入一遍代碼。

1.3 命令行模式和Python交互模式

請注意區(qū)分命令行模式和Python交互模式。

在命令行模式下,可以執(zhí)行python進入Python交互式環(huán)境,也可以執(zhí)行python hello.py運行一個.py文件。執(zhí)行一個.py文件只能在命令行模式執(zhí)行。

如果敲一個命令python hello.py,看到如下錯誤:

$ python hello.py

python: can't open file 'hello.py': [Errno 2] No such file or directory

錯誤提示No such file or directory說明這個hello.py在當前目錄找不到,必須先把當前目錄切換到hello.py所在的目錄下,才能正常執(zhí)行:

$ cd??/Users/cunxi/Desktop/Python_source

work $ python hello.py

Hello,World!

此外,在命令行模式運行.py文件和在Python交互式環(huán)境下直接運行Python代碼有所不同。Python交互式環(huán)境會把每一行Python代碼的結(jié)果自動打印出來,但是,直接運行Python代碼卻不會。

例如,在Python交互式環(huán)境下,輸入:

>>> 100 + 200 + 300

600

直接可以看到結(jié)果600。

但是,寫一個calc.py的文件,內(nèi)容如下:

100 + 200 + 300

然后在命令行模式下執(zhí)行:

work $ python calc.py

發(fā)現(xiàn)什么輸出都沒有。

這是正常的。想要輸出結(jié)果,必須自己用print()打印出來。把calc.py改造一下:

print(100 + 200 + 300)

再執(zhí)行,就可以看到結(jié)果:

work $ python calc.py

600

最后,Python交互模式的代碼是輸入一行,執(zhí)行一行,而命令行模式下直接運行.py文件是一次性執(zhí)行該文件內(nèi)的所有代碼。可見,Python交互模式主要是為了調(diào)試Python代碼用的,也便于初學者學習,它不是正式運行Python代碼的環(huán)境!

2. 使用文本編輯器

在Python的交互式命令行寫程序,好處是一下就能得到結(jié)果,壞處是沒法保存,下次還想運行的時候,還得再敲一遍。

所以,實際開發(fā)的時候,我們總是使用一個文本編輯器來寫代碼,寫完了,保存為一個文件,這樣,程序就可以反復運行了。

程序員花大量時間來編寫、閱讀和編輯代碼,因此使用的文本編輯器必須能夠盡可能提高完成這種工作的效率,高效的編輯器應(yīng)突出代碼的結(jié)構(gòu),讓你在編寫代碼時就能夠發(fā)現(xiàn)常見的bug。它還應(yīng)包含自動縮進功能、顯示代碼長度的標志以及用于執(zhí)行常見操作的快捷鍵。

如果你是編程新手,應(yīng)使用具備上述功能但學習起來又不難的編輯器。另外,最好對更高級的編輯器有所了解,這樣就知道何時該考慮升級編輯器了。

對于每種主要的操作系統(tǒng),比較流行的是以下編輯器:使用Linux或Windows系統(tǒng)的初學者可使用Geany;使用OS X的初學者可使用Sublime Text(它在Linux和Windows系統(tǒng)中的效果也很好),我這里主要講Sublime Text 的安裝配置及定制。

Sublime Text 是一款簡單的文本編輯器,比較易于安裝,能夠直接運行幾乎所有程序。它還能在內(nèi)嵌在Sublime Text 窗口內(nèi)的終端會話中運行代碼,能夠輕松查看輸出結(jié)果。

Sublime Text 的許可策略非常靈活,可以永久的免費使用這款編輯器,如果想長期使用,建議購買許可證。

2.1 安裝 Sublime Text

2.1.1 在 OS X 系統(tǒng)中安裝 Sublime Text

要下載Sublime Text 安裝程序,可訪問http://sublimetext.com/3,單機鏈接Download,并查找OS X 安裝程序。下載安裝程序后,打開它,再將Sublime Text 圖標拖到文件夾Applications 。

2.1.2 在 Linux 系統(tǒng)中安裝 Sublime Text

在大多數(shù)Linux系統(tǒng)中,安裝Sublime Text 的最簡單方式是通過終端會話,如下所示:

$ sudo add-apt-repository ppa:webupd8team/sublime-text-3

$ sudo apt-get update

$ sudo apt-get install sublime-text-installer

2.1.3 在 Windows 系統(tǒng)中安裝?Sublime Text

從http://sublimetext.com/3下載Windows安裝程序。

2.2 在Sublime Text 中運行 Python 程序

如果使用的是系統(tǒng)自帶的Pythn版本,無需調(diào)整任何設(shè)置就能運行程序。要運行程序,可選擇菜單Tools - Build 或 Ctrl + B。運行hello_world.py時,你將在Sublime Text窗口的最底部看到一個終端屏幕,其中包含以下輸出:

Hello Python World!

[ Finished in 0.1s ]

2.3 配置Sublime Text

如果安裝了多個Python版本或者Sublime 不能自動運行程序,可能需要設(shè)置一個配置文件。首先需要知道Python解釋器的完整路徑,為此,在Linux或OS X 系統(tǒng)中執(zhí)行如下命令:

$ type -a python3

python3 is /usr/local/bin/python3

如果使用的Windows系統(tǒng),要獲悉Python解釋器的路徑,請參閱“Python第1課 - Python安裝”一節(jié)中“在Windows系統(tǒng)中安裝Python3”。

現(xiàn)在啟動Sublime Text,并選擇菜單Tools - Build System - New Build System,這將打開一個新的配置文件。刪除其中的所有內(nèi)容,再輸入以下內(nèi)容:

Python3 .sublime-build

{

"cmd":["/usr/local/bin/python3","-u","$file"],

}

這些代碼讓Sublime Text 使用命令python3 來運行當前打開的文件。請確保其中的路徑為你在前一步獲取的路徑(在Windows系統(tǒng)中,該路徑類似于C:/Python35/python)。將這個配置文件命名為Python3 .sublime-build,并將其保存到默認目錄 —— 選擇菜單Save 時

Sublime Text 打開的目錄。

2.4 定制 Sublime Text 的設(shè)置

下面來定制之前提到的功能,以盡可能提高Sublime Text 的效率。

1.將制表符轉(zhuǎn)換為空格

選擇菜單View - Indentation,核實選擇了復選框Indent Using Spaces。如果沒有選擇該復選框,現(xiàn)在請選擇。

2.設(shè)置行長標志

選擇菜單View - Ruler,再單擊80,Sublime Text 將在這個80字符標志處放置一條豎線,編輯代碼時一行不要超過這條線。

3.縮進和取消縮進代碼塊

要縮進代碼塊,可選擇代碼塊,再選擇菜單Edit - Line - Indent或按Ctrl + ] 。要取消縮進代碼塊,可選擇菜單Edit - Line - Unindent或按Ctrl + [ 。

4.將代碼塊注釋掉

要將代碼塊注釋掉,可選擇代碼塊,再選擇菜單Edit - Comment - Toggle Comment或按Ctrl + /。要取消代碼塊注釋,再次執(zhí)行這個命令。

3. 輸出

用print()在括號中加上字符串,就可以向屏幕上輸出指定的文字。比如輸出'hello, world',用代碼實現(xiàn)如下:

>>> print('hello, world')

print()函數(shù)也可以接受多個字符串,用逗號“,”隔開,就可以連成一串輸出:

>>> print('The quick brown fox', 'jumps over', 'the lazy dog')

The quick brown fox jumps over the lazy dog

print()會依次打印每個字符串,遇到逗號“,”會輸出一個空格。

print()也可以打印整數(shù),或者計算結(jié)果:

>>> print(300)

300

>>> print(100 + 200)

300

因此,我們可以把計算100 + 200的結(jié)果打印得更漂亮一點:

>>> print('100 + 200 =', 100 + 200)

100 + 200 = 300

注意,對于100 + 200,Python解釋器自動計算出結(jié)果300,但是,'100 + 200 ='是字符串而非數(shù)學公式,Python把它視為字符串。

4. 輸入

現(xiàn)在,你已經(jīng)可以用print()輸出你想要的結(jié)果了。但是,如果要讓用戶從電腦輸入一些字符怎么辦?Python提供了一個input(),可以讓用戶輸入字符串,并存放到一個變量里。比如輸入用戶的名字:

>>> name = input()

Michael

當你輸入name = input()并按下回車后,Python交互式命令行就在等待你的輸入了。這時,你可以輸入任意字符,然后按回車后完成輸入。

輸入完成后,不會有任何提示,Python交互式命令行又回到>>>狀態(tài)了。那我們剛才輸入的內(nèi)容到哪去了?答案是存放到name變量里了。可以直接輸入name查看變量內(nèi)容:

>>> name

'Michael'

什么是變量?請回憶初中數(shù)學所學的代數(shù)基礎(chǔ)知識:

設(shè)正方形的邊長為a,則正方形的面積為a x a。把邊長a看做一個變量,我們就可以根據(jù)a的值計算正方形的面積,比如:

若a=2,則面積為a x a = 2 x 2 = 4;

若a=3.5,則面積為a x a = 3.5 x 3.5 = 12.25。

在計算機程序中,變量不僅可以為整數(shù)或浮點數(shù),還可以是字符串,因此,name作為一個變量就是一個字符串。

要打印出name變量的內(nèi)容,除了直接寫name然后按回車外,還可以用print()函數(shù):

>>> print(name)

Michael

有了輸入和輸出,我們就可以把上次打印'hello, world'的程序改成有點意義的程序了:

name = input("please enter your name:")

print('hello,', name)

運行上面的程序,第一行代碼會讓用戶輸入任意字符作為自己的名字,然后存入name變量中;第二行代碼會根據(jù)用戶的名字向用戶說hello,比如輸入Michael:

$ python hello.py

please enter your name: Michael

hello, Michael

每次運行該程序,根據(jù)用戶輸入的不同,輸出結(jié)果也會不同。

在命令行下,輸入和輸出就是這么簡單。

任何計算機程序都是為了執(zhí)行一個特定的任務(wù),有了輸入,用戶才能告訴計算機程序所需的信息,有了輸出,程序運行后才能告訴用戶任務(wù)的結(jié)果。

輸入是Input,輸出是Output,因此,我們把輸入輸出統(tǒng)稱為Input/Output,或者簡寫為IO。

input()和print()是在命令行下面最基本的輸入和輸出,但是,用戶也可以通過其他更高級的圖形界面完成輸入和輸出,比如,在網(wǎng)頁上的一個文本框輸入自己的名字,點擊“確定”后在網(wǎng)頁上看到輸出信息。

下一節(jié)課開始講變量和簡單數(shù)據(jù)類型。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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