一.Python概述
1.Python介紹
Python是一種擴充性強大的編程語言。它具有豐富和強大的庫,能夠把使用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯結在一起。所以Python 常被稱為“膠水”語言。
Python是一門先編譯后解釋的語言,不是純粹的解釋性語言。其實Python和Java/C#一樣,是一門基於虛擬機的語言,當我們在命令行中輸入python hello.py時,其實是激活了Python的“解釋器”,告訴“解釋器”:你要開始工作了。但在解釋之前要做的事情是先編譯,編譯就是有一個負責翻譯的程序來對我們的源代碼進行轉換,生成相對應的可執行代碼,這個過程就稱為編譯(compiler)。
Python是一門動態語言,是指在運行期間才去做數據類型檢查的語言。也就是說,在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,在內部將數據類型隨時記錄下來。
Python是一門強類型定義語言,即強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,如果不經過強制轉換,那么它就永遠是這個數據類型了。舉個例子:如果你定義了一個整型變量a,那么程序根本不可能將a當作字符串類型處理。強類型定義語言是類型安全的語言。
2.Python的應用
谷歌:Google App Engine、谷歌爬蟲、Google廣告等項目都在大量使用Python開發。
CIA:美國中情局網站就是用Python開發的
You Tube:世界上最大的視頻網站You Tube就是用Python開發的
Facebook:大量的基礎庫均通過Python實現
豆瓣:公司幾乎所有的業務均是通過Python開發的
知乎:國內最大的問答社區,通過Python開發(國外Quora)
3.Python擅長的領域
WEB開發:Django\pyramid\Tornado\Bottle\Flask\WebPy
網絡編程:Twisted\Requests\Scrapy\Paramiko
科學運算:SciPy\Pandas\Ipython
GUI圖形開發:WxPython\PyQT\Kivy
運維自動化:OpenStack\SaltStack\Ansible\騰訊藍鯨
4.Python 發展史
5.Python2與3的聯系與區別
(1)Python3.X在Python2.X的基礎上做了功能升級。
(2)Python3.X對Python2.X的標准庫進行了一定程度的重新拆分和整合,比Python2.X更容易理解,特別是在字符編碼方面,Python2.X中對於中文字符串的支持性能不夠好,需要編寫單獨的代碼對中文進行處理,否則不能正確顯示中文。而Python3.X已成功將該問題解決。
(3)Python3.X與Python2.X思想基本是共通的,只是有少量的語法差別。
6.python解釋器
當我們編寫Python代碼時,我們得找到一個包含Python代碼的以.py為擴展名的文本文件。要運行代碼就需要python解釋器去執行.py文件。
由於整個python語言從規范到解釋器都是開源的,所以理論上,只要水平夠高,任何人都可以編寫python解釋器來執行python代碼(難度大),事實上,確實存在多種python解釋器。
Cpython(使用最廣泛):
當我們從python官方網站下載並安裝好python 2.7后,我們就直接獲得了一個官方版本的解釋器:Cpython,這個解釋器是用c語言開發的,所以叫Cpython。
Ipyhton:
它是基於c語言之上的一個交互式解釋器,也就是說,Ipyhton只是在交互方式上有所增強。但是執行python代碼的功能和Cpython是完全一樣的。好多許多國產的瀏覽器,雖然外觀不同,但內核其實都是調用了IE.Cpython用>>>作為提示符,而Ipyhton用In[序號]:作為提示符。
pypy:
是另一個python解釋器,它的目標是執行速度,它采用的是JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高python代碼的執行速度。
絕大多數python代碼都可以在pypy下執行,但是pypy和cpython有一些不同,這就導致相同的python代碼在兩種解釋器下執行可能會產生不同的結果。如果你的代碼要放到pypy下執行,就需要了解pypy和cpython的不同點。
Jython:
是運行在java平台上的python解釋器,可以直接把python代碼編譯成java字節碼執行。
Ironpython:
和Jython類似,只不過Ironpython是運行在微軟.Net平台上的python解釋器,可以直接把python代碼編譯成.Net的字節碼。
二,python的特點
1,易於學習:python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單
2,易於閱讀:python代碼定義的更清晰
3,易於維護:python的成功在於它的源代碼是相當容易維護的
4,一個廣泛的標准庫:python的最大的優勢之一是豐富的哭,跨平台的,在unix,windows和Mac兼容很好
5,數據庫:python提供所有主要的商業數據庫的接口
三,python2.x和python3.x的區別
Python 的 3.0 版本,常被稱為 Python 3000,或簡稱 Py3k。相對於 Python 的早期版本,這是一個較大的升級。
為了不帶入過多的累贅,Python 3.0 在設計的時候沒有考慮向下相容。
許多針對早期 Python 版本設計的程式都無法在 Python 3.0 上正常執行。
為了照顧現有程式,Python 2.6 作為一個過渡版本,基本使用了 Python 2.x 的語法和庫,同時考慮了向 Python 3.0 的遷移,允許使用部分 Python 3.0 的語法與函數。
新的 Python 程式建議使用 Python 3.0 版本的語法。
除非執行環境無法安裝 Python 3.0 或者程式本身使用了不支援 Python 3.0 的第三方庫。目前不支持 Python 3.0 的第三方庫有 Twisted, py2exe, PIL等。
大多數第三方庫都正在努力地相容 Python 3.0 版本。即使無法立即使用 Python 3.0,也建議編寫相容 Python 3.0 版本的程式,然后使用 Python 2.6, Python 2.7 來執行。
1,unicode:
Python 2 有 ASCII str() 類型,unicode() 是單獨的,不是 byte 類型。
現在, 在 Python 3,我們最終有了 Unicode (utf-8) 字符串,以及一個字節類:byte 和 bytearrays。
由於 Python3.x 源碼文件默認使用 utf-8 編碼,所以使用中文就更加方便了
四,python的安裝
1,安裝python3.x(官網下載)
2,安裝pycharm(官網下載)
Pycharm 在windows、Mac OS、Linux操作系統中都可以使用,其開發效率高,能夠有幫助自動補全、幫助調試
3,pycharm的使用:
第一步:在電腦硬盤的某個盤中新建一個文件並命名;
第二步:打開 Pycharm:

第三步:在以下界面中選擇你在硬盤中創建的文件,按步驟點擊"OK"、“create”(創建的意思):


第四步:創建后會彈出如下小框:

第五步:按如下界面步驟創建目錄:


第六步:在上述新建目錄下創建相關課程的文件夾進行學習:


