python學習筆記一

安裝Python

 

由於Python是跨平臺的,它能夠運行在Windows、Mac和各類Linux/Unix系統上。在Windows上寫Python程序,放到Linux上也是可以運行的。php

要開始學習Python編程,首先就得把Python安裝到你的電腦裏。安裝後,你會獲得Python解釋器(就是負責運行Python程序的),一個命令行交互環境,還有一個簡單的集成開發環境。css

安裝Python 3.5

目前,Python有兩個版本,一個是2.x版,一個是3.x版,這兩個版本是不兼容的。因爲3.x版愈來愈普及,咱們的教程將以最新的Python 3.5版本爲基礎。請確保你的電腦上安裝的Python版本是最新的3.5.x,這樣,你才能無痛學習這個教程。python

在Mac上安裝Python

若是你正在使用Mac,系統是OS X 10.8~10.10,那麼系統自帶的Python版本是2.7。要安裝最新的Python 3.5,有兩個方法:linux

方法一:從Python官網下載Python 3.5的安裝程序(網速慢的同窗請移步國內鏡像),雙擊運行並安裝;macos

方法二:若是安裝了Homebrew,直接經過命令brew install python3安裝便可。編程

在Linux上安裝Python

若是你正在使用Linux,那我能夠假定你有Linux系統管理經驗,自行安裝Python 3應該沒有問題,不然,請換回Windows系統。windows

對於大量的目前仍在使用Windows的同窗,若是短時間內沒有打算換Mac,就能夠繼續閱讀如下內容。編程語言

在Windows上安裝Python

首先,根據你的Windows版本(64位仍是32位)從Python的官方網站下載Python 3.5對應的64位安裝程序32位安裝程序(網速慢的同窗請移步國內鏡像),而後,運行下載的EXE安裝包:函數

install-py35

特別要注意勾上Add Python 3.5 to PATH,而後點「Install Now」便可完成安裝。學習


運行Python

安裝成功後,打開命令提示符窗口,敲入python後,會出現兩種狀況:

狀況一:

run-py3-win

看到上面的畫面,就說明Python安裝成功!

你看到提示符>>>就表示咱們已經在Python交互式環境中了,能夠輸入任何Python代碼,回車後會馬上獲得執行結果。如今,輸入exit()並回車,就能夠退出Python交互式環境(直接關掉命令行窗口也能夠)。

狀況二:獲得一個錯誤:

‘python’ 不是內部或外部命令,也不是可運行的程序或批處理文件。

python-not-found

這是由於Windows會根據一個Path的環境變量設定的路徑去查找python.exe,若是沒找到,就會報錯。若是在安裝時漏掉了勾選Add Python 3.5 to PATH,那就要手動把python.exe所在的路徑添加到Path中。

若是你不知道怎麼修改環境變量,建議把Python安裝程序從新運行一遍,務必記得勾上Add Python 3.5 to PATH


 

第一個Python程序

 

如今,瞭解瞭如何啓動和退出Python的交互式環境,咱們就能夠正式開始編寫Python代碼了。

在寫代碼以前,請千萬不要用「複製」-「粘貼」把代碼從頁面粘貼到你本身的電腦上。寫程序也講究一個感受,你須要一個字母一個字母地把代碼本身敲進去,在敲代碼的過程當中,初學者常常會敲錯代碼,因此,你須要仔細地檢查、對照,才能以最快的速度掌握如何寫程序。

simpson-learn-py3

在交互式環境的提示符>>>下,直接輸入代碼,按回車,就能夠馬上獲得代碼執行結果。如今,試試輸入100+200,看看計算結果是否是300:

>>> 100+200 300 

很簡單吧,任何有效的數學計算均可以算出來。

若是要讓Python打印出指定的文字,能夠用print()函數,而後把但願打印的文字用單引號或者雙引號括起來,但不能混用單引號和雙引號:

>>> print('hello, world') hello, world 

這種用單引號或者雙引號括起來的文本在程序中叫字符串,從此咱們還會常常遇到。

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

令行模式和Python交互模式

請注意區分命令行模式和Python交互模式。

看到相似C:\>是在Windows提供的命令行模式:

mode-cmd

在命令行模式下,能夠執行python進入Python交互式環境,也能夠執行python hello.py運行一個.py文件。

看到>>>是在Python交互式環境下:

run-py3-win

在Python交互式環境下,只能輸入Python代碼並馬上執行。

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

例如,在Python交互式環境下,輸入:

>>> 100 + 200 + 300 600 

直接能夠看到結果600

可是,寫一個calc.py的文件,內容以下:

100 + 200 + 300

而後在命令行模式下執行:

C:\work>python calc.py

發現什麼輸出都沒有。

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

print(100 + 200 + 300) 

再執行,就能夠看到結果:

C:\work>python calc.py
600

Python基礎

 

Python是一種計算機編程語言。計算機編程語言和咱們平常使用的天然語言有所不一樣,最大的區別就是,天然語言在不一樣的語境下有不一樣的理解,而計算機要根據編程語言執行任務,就必須保證編程語言寫出的程序決不能有歧義,因此,任何一種編程語言都有本身的一套語法,編譯器或者解釋器就是負責把符合語法的程序代碼轉換成CPU可以執行的機器碼,而後執行。Python也不例外。

Python的語法比較簡單,採用縮進方式,寫出來的代碼就像下面的樣子:

# print absolute value of an integer: a = 100 if a >= 0: print(a) else: print(-a) 

#開頭的語句是註釋,註釋是給人看的,能夠是任意內容,解釋器會忽略掉註釋。其餘每一行都是一個語句,當語句以冒號:結尾時,縮進的語句視爲代碼塊。

縮進有利有弊。好處是強迫你寫出格式化的代碼,但沒有規定縮進是幾個空格仍是Tab。按照約定俗成的管理,應該始終堅持使用4個空格的縮進。

縮進的另外一個好處是強迫你寫出縮進較少的代碼,你會傾向於把一段很長的代碼拆分紅若干函數,從而獲得縮進較少的代碼。

縮進的壞處就是「複製-粘貼」功能失效了,這是最坑爹的地方。當你重構代碼時,粘貼過去的代碼必須從新檢查縮進是否正確。此外,IDE很難像格式化Java代碼那樣格式化Python代碼。

最後,請務必注意,Python程序是大小寫敏感的,若是寫錯了大小寫,程序會報錯。

數據類型和變量

數據類型

計算機顧名思義就是能夠作數學計算的機器,所以,計算機程序理所固然地能夠處理各類數值。可是,計算機能處理的遠不止數值,還能夠處理文本、圖形、音頻、視頻、網頁等各類各樣的數據,不一樣的數據,須要定義不一樣的數據類型。在Python中,可以直接處理的數據類型有如下幾種:

整數

Python能夠處理任意大小的整數,固然包括負整數,在程序中的表示方法和數學上的寫法如出一轍,例如:1100-80800,等等。

計算機因爲使用二進制,因此,有時候用十六進制表示整數比較方便,十六進制用0x前綴和0-9,a-f表示,例如:0xff000xa5b4c3d2,等等。

浮點數

浮點數也就是小數,之因此稱爲浮點數,是由於按照科學記數法表示時,一個浮點數的小數點位置是可變的,好比,1.23x109和12.3x108是徹底相等的。浮點數能夠用數學寫法,如1.233.14-9.01,等等。可是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012能夠寫成1.2e-5,等等。

整數和浮點數在計算機內部存儲的方式是不一樣的,整數運算永遠是精確的(除法難道也是精確的?是的!),而浮點數運算則可能會有四捨五入的偏差。

字符串

字符串是以單引號'或雙引號"括起來的任意文本,好比'abc'"xyz"等等。請注意,''""自己只是一種表示方式,不是字符串的一部分,所以,字符串'abc'只有abc這3個字符。若是'自己也是一個字符,那就能夠用""括起來,好比"I'm OK"包含的字符是I'm,空格,OK這6個字符。

條件判斷

條件判斷

計算機之因此能作不少自動化的任務,由於它能夠本身作條件判斷。

好比,輸入用戶年齡,根據年齡打印不一樣的內容,在Python程序中,用if語句實現:

age = 20 if age >= 18: print('your age is', age) print('adult') 

根據Python的縮進規則,若是if語句判斷是True,就把縮進的兩行print語句執行了,不然,什麼也不作。

也能夠給if添加一個else語句,意思是,若是if判斷是False,不要執行if的內容,去把else執行了:

age = 3 if age >= 18: print('your age is', age) print('adult') else: print('your age is', age) print('teenager') 

注意不要少寫了冒號:

固然上面的判斷是很粗略的,徹底能夠用elif作更細緻的判斷:

age = 3 if age >= 18: print('adult') elif age >= 6: print('teenager') else: print('kid') 

elifelse if的縮寫,徹底能夠有多個elif,因此if語句的完整形式就是:

if <條件判斷1>: <執行1> elif <條件判斷2>: <執行2> elif <條件判斷3>: <執行3> else: <執行4> 

if語句執行有個特色,它是從上往下判斷,若是在某個判斷上是True,把該判斷對應的語句執行後,就忽略掉剩下的elifelse,因此,請測試並解釋爲何下面的程序打印的是teenager

age = 20 if age >= 6: print('teenager') elif age >= 18: print('adult') else: print('kid') 

if判斷條件還能夠簡寫,好比寫:

if x: print('True') 

只要x是非零數值、非空字符串、非空list等,就判斷爲True,不然爲False

循環

要計算1+2+3,咱們能夠直接寫表達式:

>>> 1 + 2 + 3 6 

要計算1+2+3+...+10,勉強也能寫出來。

可是,要計算1+2+3+...+10000,直接寫表達式就不可能了。

爲了讓計算機能計算成千上萬次的重複運算,咱們就須要循環語句。

Python的循環有兩種,一種是for...in循環,依次把list或tuple中的每一個元素迭代出來,看例子:

names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name) 

執行這段代碼,會依次打印names的每個元素:

Michael
Bob
Tracy

因此for x in ...循環就是把每一個元素代入變量x,而後執行縮進塊的語句。

再好比咱們想計算1-10的整數之和,能夠用一個sum變量作累加:

sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum) 

若是要計算1-100的整數之和,從1寫到100有點困難,幸虧Python提供一個range()函數,能夠生成一個整數序列,再經過list()函數能夠轉換爲list。好比range(5)生成的序列是從0開始小於5的整數:

>>> list(range(5)) [0, 1, 2, 3, 4] 

range(101)就能夠生成0-100的整數序列,計算以下:

sum = 0 for x in range(101): sum = sum + x print(sum) 

請自行運行上述代碼,看看結果是否是當年高斯同窗心算出的5050。

第二種循環是while循環,只要條件知足,就不斷循環,條件不知足時退出循環。好比咱們要計算100之內全部奇數之和,能夠用while循環實現:

sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print(sum) 

在循環內部變量n不斷自減,直到變爲-1時,再也不知足while條件,循環退出。

相關文章
相關標籤/搜索