Python學習入門第二課:第一個Python程序
在本節課中,你將運行自己的第一個程序 —— hello_world.py。在這之前,需要熟悉兩個概念:命令行模式和Python交互模式。同時掌握輸入和輸出。
1. 命令行模式和Python交互模式
1.1 命令行模式
MAC 直接打開終端,也可在"應用程序 - 實用工具 - 終端"中找到,它的提示符類似這樣Macbook:~cunxi$,美元符號的前面是用戶名。
裡面有各種學習資料和我整理的一份2018最新0基礎入門視頻,都無償提供給大家,還有高清大圖學習路線和開發工具包滿足大家,希望搭建一個好的學習環境,每天裡面更新最新Python市場行情。
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.
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()
$
還可以找到安裝的應用程序,選擇IDLE雙擊打開,這種方式打開時,輸入exit() 後會關閉當前窗口,不會回到命令行模式。
了解了如何啟動和退出Python的交互模式,我們就可以正式開始編寫Python代碼了。
在寫代碼之前,千萬不要用「複製」、「粘貼」把代碼從頁面粘貼到你自己的電腦上。寫程序也講究一個感覺,你需要一個字母一個字母地把代碼自己敲進去,在敲代碼的過程中,初學者經常會敲錯代碼:拼寫不對,大小寫不對,混用中英文標點,混用空格和Tab鍵,所以,你需要仔細地檢查、對照,才能以最快的速度掌握如何寫程序。
在交互模式的提示符>>>下,直接輸入代碼,按回車,就可以立刻得到代碼執行結果。現在,試試輸入100+200,看看計算結果是不是300:
>>> 100 + 200
300
如果要讓Python列印出指定的文字,可以用print()函數,然後把希望列印的文字用單引號或者雙引號括起來,但不能混用單引號和雙引號:
>>> print("hello, world")
hello,world
這種用單引號或者雙引號括起來的文本在程序中叫字元串,今後我們還會經常遇到。
最後,用exit()退出Python,我們的第一個Python程序完成!唯一的缺憾是沒有保存下來,下次運行時還要再輸入一遍代碼。
1.3 命令行模式和Python交互模式
請注意區分命令行模式和Python交互模式。
在命令行模式下,可以執行python進入Python互動式環境,也可以執行python hello.py運行一個.py文件。執行一個.py文件只能在命令行模式執行。
如果敲一個命令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所在的目錄下,才能正常執行:
$ cd /Users/cunxi/Desktop/Python_source
work $ python hello.py
Hello,World!
此外,在命令行模式運行.py文件和在Python互動式環境下直接運行Python代碼有所不同。Python互動式環境會把每一行Python代碼的結果自動列印出來,但是,直接運行Python代碼卻不會。
例如,在Python互動式環境下,輸入:
>>> 100 + 200 + 300
600
直接可以看到結果600。
但是,寫一個calc.py的文件,內容如下:
100 + 200 + 300
然後在命令行模式下執行:
work $ python calc.py
發現什麼輸出都沒有。
這是正常的。想要輸出結果,必須自己用print()列印出來。把calc.py改造一下:
print(100 + 200 + 300)
再執行,就可以看到結果:
work $ python calc.py
600
最後,Python交互模式的代碼是輸入一行,執行一行,而命令行模式下直接運行.py文件是一次性執行該文件內的所有代碼。可見,Python交互模式主要是為了調試Python代碼用的,也便於初學者學習,它不是正式運行Python代碼的環境!
2. 使用文本編輯器
在Python的互動式命令行寫程序,好處是一下就能得到結果,壞處是沒法保存,下次還想運行的時候,還得再敲一遍。
所以,實際開發的時候,我們總是使用一個文本編輯器來寫代碼,寫完了,保存為一個文件,這樣,程序就可以反覆運行了。
程序員花大量時間來編寫、閱讀和編輯代碼,因此使用的文本編輯器必須能夠儘可能提高完成這種工作的效率,高效的編輯器應突出代碼的結構,讓你在編寫代碼時就能夠發現常見的bug。它還應包含自動縮進功能、顯示代碼長度的標誌以及用於執行常見操作的快捷鍵。
如果你是編程新手,應使用具備上述功能但學習起來又不難的編輯器。另外,最好對更高級的編輯器有所了解,這樣就知道何時該考慮升級編輯器了。
對於每種主要的操作系統,比較流行的是以下編輯器:使用Linux或Windows系統的初學者可使用Geany;使用OS X的初學者可使用Sublime Text(它在Linux和Windows系統中的效果也很好),我這裡主要講Sublime Text 的安裝配置及定製。
Sublime Text 是一款簡單的文本編輯器,比較易於安裝,能夠直接運行幾乎所有程序。它還能在內嵌在Sublime Text 窗口內的終端會話中運行代碼,能夠輕鬆查看輸出結果。
Sublime Text 的許可策略非常靈活,可以永久的免費使用這款編輯器,如果想長期使用,建議購買許可證。
2.1 安裝 Sublime Text
2.1.1 在 OS X 系統中安裝 Sublime Text
要下載Sublime Text 安裝程序,可訪問http://sublimetext.com/3,單機鏈接Download,並查找OS X 安裝程序。下載安裝程序後,打開它,再將Sublime Text 圖標拖到文件夾Applications 。
2.1.2 在 Linux 系統中安裝 Sublime Text
在大多數Linux系統中,安裝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 系統中安裝 Sublime Text
從http://sublimetext.com/3下載Windows安裝程序。
2.2 在Sublime Text 中運行 Python 程序
如果使用的是系統自帶的Pythn版本,無需調整任何設置就能運行程序。要運行程序,可選擇菜單Tools - Build 或 Ctrl + B。運行hello_world.py時,你將在Sublime Text窗口的最底部看到一個終端屏幕,其中包含以下輸出:
Hello Python World!
[ Finished in 0.1s ]
2.3 配置Sublime Text
如果安裝了多個Python版本或者Sublime 不能自動運行程序,可能需要設置一個配置文件。首先需要知道Python解釋器的完整路徑,為此,在Linux或OS X 系統中執行如下命令:
$ type -a python3
python3 is /usr/local/bin/python3
如果使用的Windows系統,要獲悉Python解釋器的路徑,請參閱「Python第1課 - Python安裝」一節中「在Windows系統中安裝Python3」。
現在啟動Sublime Text,並選擇菜單Tools - Build System - New Build System,這將打開一個新的配置文件。刪除其中的所有內容,再輸入以下內容:
Python3 .sublime-build
{
"cmd":["/usr/local/bin/python3","-u","$file"],
}
這些代碼讓Sublime Text 使用命令python3 來運行當前打開的文件。請確保其中的路徑為你在前一步獲取的路徑(在Windows系統中,該路徑類似於C:/Python35/python)。將這個配置文件命名為Python3 .sublime-build,並將其保存到默認目錄 —— 選擇菜單Save 時
Sublime Text 打開的目錄。
2.4 定製 Sublime Text 的設置
下面來定製之前提到的功能,以儘可能提高Sublime Text 的效率。
1.將製表符轉換為空格
選擇菜單View - Indentation,核實選擇了複選框Indent Using Spaces。如果沒有選擇該複選框,現在請選擇。
2.設置行長標誌
選擇菜單View - Ruler,再單擊80,Sublime Text 將在這個80字元標誌處放置一條豎線,編輯代碼時一行不要超過這條線。
3.縮進和取消縮進代碼塊
要縮進代碼塊,可選擇代碼塊,再選擇菜單Edit - Line - Indent或按Ctrl + ] 。要取消縮進代碼塊,可選擇菜單Edit - Line - Unindent或按Ctrl + [ 。
4.將代碼塊注釋掉
要將代碼塊注釋掉,可選擇代碼塊,再選擇菜單Edit - Comment - Toggle Comment或按Ctrl + /。要取消代碼塊注釋,再次執行這個命令。
3. 輸出
用print()在括弧中加上字元串,就可以向屏幕上輸出指定的文字。比如輸出"hello, world",用代碼實現如下:
>>> print("hello, world")
print()函數也可以接受多個字元串,用逗號「,」隔開,就可以連成一串輸出:
>>> print("The quick brown fox", "jumps over", "the lazy dog")
The quick brown fox jumps over the lazy dog
print()會依次列印每個字元串,遇到逗號「,」會輸出一個空格。
print()也可以列印整數,或者計算結果:
>>> print(300)
300
>>> print(100 + 200)
300
因此,我們可以把計算100 + 200的結果列印得更漂亮一點:
>>> print("100 + 200 =", 100 + 200)
100 + 200 = 300
注意,對於100 + 200,Python解釋器自動計算出結果300,但是,"100 + 200 ="是字元串而非數學公式,Python把它視為字元串。
4. 輸入
現在,你已經可以用print()輸出你想要的結果了。但是,如果要讓用戶從電腦輸入一些字元怎麼辦?Python提供了一個input(),可以讓用戶輸入字元串,並存放到一個變數里。比如輸入用戶的名字:
>>> name = input()
Michael
當你輸入name = input()並按下回車後,Python互動式命令行就在等待你的輸入了。這時,你可以輸入任意字元,然後按回車後完成輸入。
輸入完成後,不會有任何提示,Python互動式命令行又回到>>>狀態了。那我們剛才輸入的內容到哪去了?答案是存放到name變數里了。可以直接輸入name查看變數內容:
"Michael"
什麼是變數?請回憶初中數學所學的代數基礎知識:
設正方形的邊長為a,則正方形的面積為a x a。把邊長a看做一個變數,我們就可以根據a的值計算正方形的面積,比如:
若a=2,則面積為a x a = 2 x 2 = 4;
若a=3.5,則面積為a x a = 3.5 x 3.5 = 12.25。
在計算機程序中,變數不僅可以為整數或浮點數,還可以是字元串,因此,name作為一個變數就是一個字元串。
要列印出name變數的內容,除了直接寫name然後按回車外,還可以用print()函數:
>>> print(name)
Michael
有了輸入和輸出,我們就可以把上次列印"hello, world"的程序改成有點意義的程序了:
name = input("please enter your name:")
print("hello,", name)
運行上面的程序,第一行代碼會讓用戶輸入任意字元作為自己的名字,然後存入name變數中;第二行代碼會根據用戶的名字向用戶說hello,比如輸入Michael:
$ python hello.py
please enter your name: Michael
hello, Michael
每次運行該程序,根據用戶輸入的不同,輸出結果也會不同。
在命令行下,輸入和輸出就是這麼簡單。
任何計算機程序都是為了執行一個特定的任務,有了輸入,用戶才能告訴計算機程序所需的信息,有了輸出,程序運行後才能告訴用戶任務的結果。
輸入是Input,輸出是Output,因此,我們把輸入輸出統稱為Input/Output,或者簡寫為IO。
input()和print()是在命令行下面最基本的輸入和輸出,但是,用戶也可以通過其他更高級的圖形界面完成輸入和輸出,比如,在網頁上的一個文本框輸入自己的名字,點擊「確定」後在網頁上看到輸出信息。
下一節課開始講變數和簡單數據類型。


TAG:Python |