目錄
第一章:Python入門
1.Python介紹
1.1 簡介
1.2 Python2.版本和Python3.x版本的區別
1.3 Python的優缺點
1.4 程序基本格式
1.5 Python的應用場景
Python是一種解釋型,面向對象的語言。由吉多·范羅蘇姆(Guido van Rossum)於1989年發明,1991年正式公布。官網:www.python.org
Python單詞是“大蟒蛇”的意思。但是龜叔不是喜歡蟒蛇才起這個名字而是正在追劇:英國電視喜劇片《蒙提·派森的飛行馬戲團》
編程語言主要從以下幾個角度為進行分類:編譯型和解釋性、靜態語言和動態語言、強類型定義語言和弱類型定義語言。
編譯和解釋的區別是什麼?
編譯器是把源程序的每一條語句都編譯成機器語言、並保存成二進制文件,這樣運行時計算機可以直接以機器語言來進行此程序,速度很快;
解釋器是執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行速度快的。
這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進制的形式)
編譯型解釋性混合型CJavaScriptJavaC++PythonC#GoRuby SwiftPHP Object-CPerl PascalErlang編譯型
優點:編譯器一般會有預編譯的過程對代碼進行優化。
解釋性
優點:有良好的平台兼容性,在任何環境中都可以運行,前提是安裝了解釋器(虛擬機),靈活修改代碼
Python的繼承是多繼承的
Python2中的print是一條語句,語句是一段可執行代碼。如果返回值也是多個,則返回一個元組。
Python3中的print為一個函數,必須用括號括起來;函數接收參數提供返回值,可接收多個參數。
#Python2
1 print 'Python', python_version()
2 print 'Hello, World!'
3 print('Hello, World!')
4 print "text", ; print 'print more text on the same line'
```
run result:
Python 2.7.6
Hello, World!
Hello, World!
text print more text on the same line
```
#Python3
1 print('Python', python_version())
2 print('Hello, World!')
3 print("some text,", end="")
4 print(' print more text on the same line')
```
run result:
Python 3.4.1
Hello, World!
some text, print more text on the same line
```
Python 2 中,整數相除默認是整型。Python 3 中,整數相除默認是浮點型。
Python 2:
>>>print("1/2",1/2)
('1/2',0) #返回的是一個元組
Python 3:
>>>print("1/2",1/2)
1/2 0.5
Python 2 中,默認編碼是 asscii ,asscii 編碼是應用於拉丁字母的編碼系統,程序內用中文常導致出現編碼問題。在 Python 3 中采用了UTF-8作為默認編碼,UTF-8 屬於Unicode編碼,支持大多數語言,且可變長度,空間較為節省。在 Python 3 中寫代碼再不用聲明 # conding:utf-8
Python 2 中字符的類型:
str : 已經編碼後的字節序列
Unicode : 編碼前的文本字符
Python 3 中字符的類型:
str : 編碼過的 Unicode 文本字符
bytes : 編碼前的字節序列
二進制字節Unicode字符 Python 2 str類型Unicode類型Python 3bytes類型str類型為了避免出錯,在Python 2 中應在文本字符串前面加上u.
Python 2 中 range 返回一個列表, xrange 返回一個迭代器。
Python 3 中沒有 xrange 。range 方法就相當於 Python 2 中的 xrange 方法,同時像 map 函數等,Python 3 比返回列表的函數改為了返回迭代器。
Python3中input得到的為str;Python2的input得到的為int型,Python2的raw_input得到的為str類型;統一一下:Python3中用的 input 和Python2中用的 row_input,都輸入為str。
幸運的是,在Python 3 中已經解決了把用戶的輸入存儲為一個str對象的問題。為了避免在Python 2 中的讀取非字符串類型的危險行為,我們不得不適用 raw_input() 代替。
python2中的StringIO和cStringIO合並為python3中的io
python2中的pickle和cPickle合並為python3中的pickle。
python2中的urllib、urllib2和urlparse合並為python3中的urllib
python2中的dict類中的keys、values和items均返回list對象,iterkeys、itervalues和iteritems返回生成器對象。
python3中移除了list、只返回一個生成器的對象,只保留視圖(生成器),但方法名為:keys、values和items。
python2中默認類是舊式類,需要顯式繼承新式類(object)來創建新式類。
python3中完全移除舊式類,所有類都是新式類,但仍可顯式繼承object類。
python2中的包導入順序:標准庫—相對倒入(即當前目錄)—絕對導入(sys.path)
python3中的包導入順序:標准庫—絕對導入(如果想要相對導入,使用from .moudel)
Python的設計哲學是“優雅”、“明確”、“簡單”。
優點
缺點:
1 . 恰當的空格, 縮進問題
(1)邏輯首行的空白(空格和制表符)用來決定邏輯行的縮進層次,從而用來決定語句的分組
(2)語句從新行的第一列開始。
(3)縮進風格統一:
①每個縮進層次使用單個制表符或四個空格(IDE會自動將制表符設置成4個空格);
②Python 用縮進而不是 {} 表示程序塊。
2 . Python 區分大小寫
3 . 注釋
(1)行注釋
每行注釋前加 “#”號。當解釋器看到 “#” ,則忽略這一行 “#” 後面的內容
(2)段注釋
使用三個連續單引號 (```)。當解釋器看到(```),則會掃描到下一個(```),然後忽略他們之間的內容。