Python是著名的“龜叔”Guido van Rossum在1989年圣誕節(jié)期間,為了打發(fā)無聊的圣誕節(jié)而編寫的一個編程語言。
Python提供了非常完善的基礎(chǔ)代碼庫,覆蓋了網(wǎng)絡(luò)、文件、GUI、數(shù)據(jù)庫、文本等大量內(nèi)容,被形象地稱作“內(nèi)置電池(batteries included)”。用Python開發(fā),許多功能不必從零編寫,直接使用現(xiàn)成的即可。除了內(nèi)置的庫外,Python還有大量的第三方庫,也就是別人開發(fā)的,供你直接使用的東西。當(dāng)然,如果你開發(fā)的代碼通過很好的封裝,也可以作為第三方庫給別人使用。
龜叔給Python的定位是“優(yōu)雅”、“明確”、“簡單”。
第一個缺點就是運行速度慢,和C程序相比非常慢。
因為Python是解釋型語言,你的代碼在執(zhí)行時會一行一行地翻譯成CPU能理解的機器碼,這個翻譯過程非常耗時,所以很慢。而C程序是運行前直接編譯成CPU能執(zhí)行的機器碼,所以非常快。
第二個缺點就是代碼不能加密。
如果要發(fā)布你的Python程序,實際上就是發(fā)布源代碼,這一點跟C語言不同,C語言不用發(fā)布源代碼,只需要把編譯后的機器碼(也就是你在Windows上常見的xxx.exe文件)發(fā)布出去。
可以運行在Windows、Mac和各種Linux/Unix系統(tǒng)上。在Windows上寫Python程序,放到Linux上也是能夠運行的。
Python有兩個版本,一個是2.x版,一個是3.x版,這兩個版本是不兼容的。
1.在Mac上安裝Python如果你正在使用Mac,系統(tǒng)是OS X 10.8~10.10,那么系統(tǒng)自帶的Python版本是2.7。要安裝最新的Python 3.6,有兩個方法:
方法一:從Python官網(wǎng)下載Python 3.6的安裝程序(網(wǎng)速慢的同學(xué)請移步國內(nèi)鏡像),雙擊運行并安裝;
方法二:如果安裝了Homebrew,直接通過命令brew install python3
安裝即可。
2.在Linux上安裝Python
如果你正在使用Linux,那我可以假定你有Linux系統(tǒng)管理經(jīng)驗,自行安裝Python 3應(yīng)該沒有問題,否則,請換回Windows系統(tǒng)。
對于大量的目前仍在使用Windows的同學(xué),如果短期內(nèi)沒有打算換Mac,就可以繼續(xù)閱讀以下內(nèi)容。
Add Python 3.6 to PATH
,然后點“Install Now”即可完成安裝。安裝成功后,打開命令提示符窗口,敲入python后,會出現(xiàn)兩種情況:
情況一:看到上面的畫面,就說明Python安裝成功!
你看到提示符>>>
就表示我們已經(jīng)在Python交互式環(huán)境中了,可以輸入任何Python代碼,回車后會立刻得到執(zhí)行結(jié)果?,F(xiàn)在,輸入exit()
并回車,就可以退出Python交互式環(huán)境(直接關(guān)掉命令行窗口也可以)。
情況二:得到一個錯誤:
這是因為Windows會根據(jù)一個Path
的環(huán)境變量設(shè)定的路徑去查找python.exe
,如果沒找到,就會報錯。如果在安裝時漏掉了勾選Add Python 3.6 to PATH
,那就要手動把python.exe
所在的路徑添加到Path中。
運行Python的視頻 點擊打開鏈接
當(dāng)我們編寫Python代碼時,我們得到的是一個包含Python代碼的以.py
為擴展名的文本文件。要運行代碼,就需要Python解釋器去執(zhí)行.py
文件。
當(dāng)我們從Python官方網(wǎng)站下載并安裝好Python 3.x后,我們就直接獲得了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發(fā)的,所以叫CPython。在命令行下運行python
就是啟動CPython解釋器。
Python的解釋器很多,但使用最廣泛的還是CPython。如果要和Java或.Net平臺交互,最好的辦法不是用Jython或IronPython,而是通過網(wǎng)絡(luò)調(diào)用來交互,確保各程序之間的獨立性。
鍵入win鍵+r 進入運行提示框,輸入cmd命令
python
,就看到類似如下的一堆文本輸出,然后就進入到Python交互模式,它的提示符是>>>
。在Python交互模式下輸入exit()
并回車,就退出了Python交互模式,并回到命令行模式:
在交互模式的提示符>>>
下,直接輸入代碼,按回車,就可以立刻得到代碼執(zhí)行結(jié)果?,F(xiàn)在,試試輸入100+200
,看看計算結(jié)果是不是300:
- >>> 100+200
- 300
print()
函數(shù),然后把希望打印的文字用單引號或者雙引號括起來,但不能混用單引號和雙引號:- >>> print('hello world')
- hello world
這種用單引號或者雙引號括起來的文本在程序中叫字符串,今后我們還會經(jīng)常遇到。
最后,用exit()
退出Python,我們的第一個Python程序完成!唯一的缺憾是沒有保存下來,下次運行時還要再輸入一遍代碼。
第一個Python程序視頻演示 點擊打開鏈接
在命令行模式下,可以執(zhí)行python
進入Python交互式環(huán)境,也可以執(zhí)行python hello.py
運行一個.py
文件。
執(zhí)行一個.py
文件只能在命令行模式執(zhí)行。如果敲一個命令python hello.py
,看到如下錯誤:
錯誤提示No such file or directory
說明這個hello.py
在當(dāng)前目錄找不到,必須先把當(dāng)前目錄切換到hello.py
所在的目錄下,才能正常執(zhí)行:
此外,在命令行模式運行.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í)行:
F:\work>python calc.py
發(fā)現(xiàn)什么輸出都沒有。
這是正常的。想要輸出結(jié)果,必須自己用print()
打印出來。把calc.py
改造一下:
print(100 + 200 + 300)
再執(zhí)行,就可以看到結(jié)果:
- F:\work>python calc.py
- 600
最后,Python交互模式的代碼是輸入一行,執(zhí)行一行,而命令行模式下直接運行.py
文件是一次性執(zhí)行該文件內(nèi)的所有代碼??梢?,Python交互模式主要是為了調(diào)試Python代碼用的,也便于初學(xué)者學(xué)習(xí),它不是正式運行Python代碼的環(huán)境!
一個是Sublime Text
一個是Notepad++
請注意,用哪個都行,但是絕對不能用Word和Windows自帶的記事本。Word保存的不是純文本文件,而記事本會自作聰明地在文件開始的地方加上幾個特殊字符(UTF-8 BOM),結(jié)果會導(dǎo)致程序運行出現(xiàn)莫名其妙的錯誤。
安裝好文本編輯器后,輸入以下代碼:
print('hello, world')
注意print
前面不要有任何空格。然后,選擇一個目錄,例如E:\work
,把文件保存為hello.py
,就可以打開命令行窗口,把當(dāng)前目錄切換到hello.py
所在目錄,就可以運行這個程序了:
- E:\20180315\work>python hello.py
- hello, world
也可以保存為別的名字,比如first.py
,但是必須要以.py
結(jié)尾,其他的都不行。此外,文件名只能是英文字母、數(shù)字和下劃線的組合。
如果當(dāng)前目錄下沒有hello.py
這個文件,運行python hello.py
就會報錯
- E:\20180315>python hello.py
- python: can't open file 'hello.py': [Errno 2] No such file or directory
報錯的意思就是,無法打開hello.py
這個文件,因為文件不存在。這個時候,就要檢查一下當(dāng)前目錄下是否有這個文件了。如果hello.py
存放在另外一個目錄下,要首先用cd
命令切換當(dāng)前目錄。
運行hello.py的視頻教程 點擊打開鏈接
在windows上是不能直接運行.py文件的,但是,在Mac和Linux上是可以的,方法是在.py
文件的第一行加上一個特殊的注釋:
- #!/usr/bin/env python3
- print('hello world')
hello.py
以執(zhí)行權(quán)限:$ chmod a+x hello.py
就可以直接運行hello.py
了,比如在Mac下運行:
Python代碼運行助手可以讓你在線輸入Python代碼,然后通過本機運行的一個Python腳本來執(zhí)行代碼。原理如下:
點擊Run
按鈕,代碼被發(fā)送到本機正在運行的Python代碼運行助手;
Python代碼運行助手將代碼保存為臨時文件,然后調(diào)用Python解釋器執(zhí)行代碼;
網(wǎng)頁顯示代碼執(zhí)行結(jié)果:
點擊右鍵,目標(biāo)另存為:learning.py
備用下載地址:learning.py
在存放learning.py
的目錄下運行命令:
E:\20180315\work>python learning.py
如果看到Ready for Python code on port 39093...
表示運行成功,不要關(guān)閉命令行窗口,最小化放到后臺運行即可:
需要支持HTML5的瀏覽器:
輸出
用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ù)學(xué)公式,Python把它視為字符串,請自行解釋上述打印結(jié)果。
輸入
現(xiàn)在,你已經(jīng)可以用print()
輸出你想要的結(jié)果了。但是,如果要讓用戶從電腦輸入一些字符怎么辦?Python提供了一個input()
,可以讓用戶輸入字符串,并存放到一個變量里。比如輸入用戶的名字:
- >>> name = input()
- hui
當(dāng)你輸入name = input()
并按下回車后,Python交互式命令行就在等待你的輸入了。這時,你可以輸入任意字符,然后按回車后完成輸入。
輸入完成后,不會有任何提示,Python交互式命令行又回到>>>
狀態(tài)了。那我們剛才輸入的內(nèi)容到哪去了?答案是存放到name
變量里了。可以直接輸入name
查看變量內(nèi)容:
- >>> name
- 'hui'
什么是變量?
請回憶初中數(shù)學(xué)所學(xué)的代數(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)
- hui
有了輸入和輸出,我們就可以把上次打印'hello, world'
的程序改成有點意義的程序了:
- name=input()
- print('hello,',name)
運行上面的程序,第一行代碼會讓用戶輸入任意字符作為自己的名字,然后存入name
變量中;第二行代碼會根據(jù)用戶的名字向用戶說hello
,比如輸入hui
:
- E:\20180317\work>python hello.py
- hui
- hello, hui
但是程序運行的時候,沒有任何提示信息告訴用戶:“嘿,趕緊輸入你的名字”,這樣顯得很不友好。幸好,input()
可以讓你顯示一個字符串來提示用戶,于是我們把代碼改成:
- name=input('please enter your name:')
- print('hello,',name)
再次運行這個程序,你會發(fā)現(xiàn),程序一運行,會首先打印出please enter your name:
,這樣,用戶就可以根據(jù)提示,輸入名字后,得到hello, xxx
的輸出:
- E:\20180317\work>python hello.py
- please enter your name:hui
- hello, hui
每次運行該程序,根據(jù)用戶輸入的不同,輸出結(jié)果也會不同。聯(lián)系客服