1.初識Python

初識Python

Python簡介

Python的歷史

  1. 1989年聖誕節:Guido von Rossum開始寫Python語言的編譯器。
  2. 1991年2月:第一個Python編譯器(同時也是解釋器)誕生,它是用C語言實現的(後面),能夠調用C語言的庫函數。在最先的版本中,Python已經提供了對「類」,「函數」,「異常處理」等構造塊的支持,還有對列表、字典等核心數據類型,同時支持以模塊爲基礎來構造應用程序。
  3. 1994年1月:Python 1.0正式發佈。
  4. 2000年10月16日:Python 2.0發佈,增長了完整的垃圾回收,提供了對Unicode的支持。與此同時,Python的整個開發過程更加透明,社區對開發進度的影響逐漸擴大,生態圈開始慢慢造成。
  5. 2008年12月3日:Python 3.0發佈,它並不徹底兼容以前的Python代碼,不過由於目前還有很多公司在項目和運維中使用Python 2.x版本,因此Python 3.x的不少新特性後來也被移植到Python 2.6/2.7版本中。

目前咱們使用的Python 3.7.x的版本是在2018年發佈的,Python的版本號分爲三段,形如A.B.C。其中A表示大版本號,通常當總體重寫,或出現不向後兼容的改變時,增長A;B表示功能更新,出現新功能時增長B;C表示小的改動(例如:修復了某個Bug),只要有修改就增長C。若是對Python的歷史感興趣,能夠閱讀名爲《Python簡史》的博文。html

Python的優缺點

Python的優勢不少,簡單的能夠總結爲如下幾點。前端

  1. 簡單和明確,作一件事只有一種方法。
  2. 學習曲線低,跟其餘不少語言相比,Python更容易上手。
  3. 開放源代碼,擁有強大的社區和生態圈。
  4. 解釋型語言,天生具備平臺可移植性。
  5. 對兩種主流的編程範式(面向對象編程和函數式編程)都提供了支持。
  6. 可擴展性和可嵌入性,例如在Python中能夠調用C/C++代碼。
  7. 代碼規範程度高,可讀性強,適合有代碼潔癖和強迫症的人羣。

Python的缺點主要集中在如下幾點。python

  1. 執行效率稍低,所以計算密集型任務能夠由C/C++編寫。
  2. 代碼沒法加密,可是如今不少公司都不銷售賣軟件而是銷售服務,這個問題會被弱化。
  3. 在開發時能夠選擇的框架太多(如Web框架就有100多個),有選擇的地方就有錯誤。

Python的應用領域

目前Python在Web應用開發、雲基礎設施、DevOps、網絡數據採集(爬蟲)、數據分析挖掘、機器學習等領域都有着普遍的應用,所以也產生了Web後端開發、數據接口開發、自動化運維、自動化測試、科學計算和可視化、數據分析、量化交易、機器人開發、天然語言處理、圖像識別等一系列相關的職位。linux

安裝Python解釋器

想要開始Python編程之旅,首先得在本身使用的計算機上安裝Python解釋器環境,下面將以安裝官方的Python解釋器爲例,講解如何在不一樣的操做系統上安裝Python環境。官方的Python解釋器是用C語言實現的,也是使用最爲普遍的Python解釋器,一般稱之爲CPython。除此以外,Python解釋器還有Java語言實現的Jython、C#語言實現的IronPython以及PyPy、Brython、Pyston等版本,咱們暫時不對這些內容進行介紹,有興趣的讀者能夠自行了解。sql

Windows環境

能夠在Python官方網站下載到Python的Windows安裝程序(exe文件),須要注意的是若是在Windows 7環境下安裝Python 3.x,須要先安裝Service Pack 1補丁包(能夠經過一些工具軟件自動安裝系統補丁的功能來安裝),安裝過程建議勾選「Add Python 3.x to PATH」(將Python 3.x添加到PATH環境變量)並選擇自定義安裝,在設置「Optional Features」界面最好將「pip」、「tcl/tk」、「Python test suite」等項所有勾選上。強烈建議選擇自定義的安裝路徑並保證路徑中沒有中文。安裝完成會看到「Setup was successful」的提示。若是稍後運行Python程序時,出現由於缺失一些動態連接庫文件而致使Python解釋器沒法工做的問題,能夠按照下面的方法加以解決。shell

若是系統顯示api-ms-win-crt*.dll文件缺失,能夠參照《api-ms-win-crt*.dll缺失緣由分析和解決方法》一文講解的方法進行處理或者直接在微軟官網下載Visual C++ Redistributable for Visual Studio 2015文件進行修復;若是是由於更新Windows的DirectX以後致使某些動態連接庫文件缺失問題,能夠下載一個DirectX修復工具進行修復。macos

Linux環境

Linux環境自帶了Python 2.x版本,可是若是要更新到3.x的版本,能夠在Python的官方網站下載Python的源代碼並經過源代碼構建安裝的方式進行安裝,具體的步驟以下所示(以CentOS爲例)。編程

  1. 安裝依賴庫(由於沒有這些依賴庫可能在源代碼構件安裝時由於缺失底層依賴庫而失敗)。
yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
  1. 下載Python源代碼並解壓縮到指定目錄。
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
xz -d Python-3.7.3.tar.xz
tar -xvf Python-3.7.3.tar
  1. 切換至Python源代碼目錄並執行下面的命令進行配置和安裝。
cd Python-3.7.3
./configure --prefix=/usr/local/python37 --enable-optimizations
make && make install
  1. 修改用戶主目錄下名爲.bash_profile的文件,配置PATH環境變量並使其生效。
cd ~
vim .bash_profile
# ... 此處省略上面的代碼 ...

export PATH=$PATH:/usr/local/python37/bin

# ... 此處省略下面的代碼 ...
  1. 激活環境變量。
source .bash_profile

macOS環境

macOS也自帶了Python 2.x版本,能夠經過Python的官方網站提供的安裝文件(pkg文件)安裝Python 3.x的版本。默認安裝完成後,能夠經過在終端執行python命令來啓動2.x版本的Python解釋器,啓動3.x版本的Python解釋器須要執行python3命令。vim

運行Python程序

確認Python的版本

能夠Windows的命令行提示符中鍵入下面的命令。windows

python --version

或者是在Linux或macOS系統的終端中鍵入下面的命令。

python3 --version

固然也能夠先輸入python或python3進入交互式環境,再執行如下的代碼檢查Python的版本。

import sys

print(sys.version_info)
print(sys.version)

編寫Python源代碼

能夠用文本編輯工具(推薦使用SublimeVisual Studio Code等高級文本編輯工具)編寫Python源代碼並用py做爲後綴名保存該文件,代碼內容以下所示。

print('hello, world!')

運行程序

切換到源代碼所在的目錄並執行下面的命令,看看屏幕上是否輸出了"hello, world!"。

python hello.py

python3 hello.py

代碼中的註釋

註釋是編程語言的一個重要組成部分,用於在源代碼中解釋代碼的做用從而加強程序的可讀性和可維護性,固然也能夠將源代碼中不須要參與運行的代碼段經過註釋來去掉,這一點在調試程序的時候常常用到。註釋在隨源代碼進入預處理器或編譯時會被移除,不會在目標代碼中保留也不會影響程序的執行結果。

  1. 單行註釋 - 以#和空格開頭的部分
  2. 多行註釋 - 三個引號開頭,三個引號結尾
"""
第一個Python程序 - hello, world!
向偉大的Dennis M. Ritchie先生致敬

Version: 0.1
Author: 駱昊
"""

print('hello, world!')
# print("你好,世界!")
print('你好', '世界')
print('hello', 'world', sep=', ', end='!')
print('goodbye, world', end='!\n')

Python開發工具

IDLE - 自帶的集成開發工具

IDLE是安裝Python環境時自帶的集成開發工具,以下圖所示。可是因爲IDLE的用戶體驗並非那麼好因此不多在實際開發中被採用。

IPython - 更好的交互式編程工具

IPython是一種基於Python的交互式解釋器。相較於原生的Python交互式環境,IPython提供了更爲強大的編輯和交互功能。能夠經過Python的包管理工具pip安裝IPython和Jupyter,具體的操做以下所示。

pip install ipython

pip3 install ipython

安裝成功後,能夠經過下面的ipython命令啓動IPython,以下圖所示。

Sublime Text - 高級文本編輯器

  • 首先能夠經過官方網站下載安裝程序安裝Sublime Text 3或Sublime Text 2。

  • 安裝包管理工具。
    1. 經過快捷鍵Ctrl+`或者在View菜單中選擇Show Console打開控制檯,輸入下面的代碼。
    • Sublime 3
    import  urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
    • Sublime 2
    import  urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
    1. 在瀏覽器中輸入 https://sublime.wbond.net/Package%20Control.sublime-package 下載包管理工具的安裝包,並找到安裝Sublime目錄下名爲"Installed Packages"的目錄,把剛纔下載的文件放到這個文件加下,而後重啓Sublime Text就搞定了。
  • 安裝插件。經過Preference菜單的Package Control或快捷鍵Ctrl+Shift+P打開命令面板,在面板中輸入Install Package就能夠找到安裝插件的工具,而後再查找須要的插件。咱們推薦你們安裝如下幾個插件:

    • SublimeCodeIntel - 代碼自動補全工具插件。
    • Emmet - 前端開發代碼模板插件。
    • Git - 版本控制工具插件。
    • Python PEP8 Autoformat - PEP8規範自動格式化插件。
    • ConvertToUTF8 - 將本地編碼轉換爲UTF-8。

說明:事實上Visual Studio Code多是更好的選擇,它不用花錢並提供了更爲完整和強大的功能,有興趣的讀者能夠自行研究。

PyCharm - Python開發神器

PyCharm的安裝、配置和使用在《玩轉PyCharm》進行了介紹,有興趣的讀者能夠選擇閱讀。

練習

  1. 在Python交互式環境中輸入下面的代碼並查看結果,請嘗試將看到的內容翻譯成中文。

    import this

    說明:輸入上面的代碼,在Python的交互式環境中能夠看到Tim Peter撰寫的「Python之禪」,裏面講述的道理不只僅適用於Python,也適用於其餘編程語言。

  2. 學習使用turtle在屏幕上繪製圖形。

    說明:turtle是Python內置的一個很是有趣的模塊,特別適合對計算機程序設計進行初體驗的小夥伴,它最先是Logo語言的一部分,Logo語言是Wally Feurzig和Seymour Papert在1966發明的編程語言。

    import turtle
    
    turtle.pensize(4)
    turtle.pencolor('red')
    
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    
    turtle.mainloop()

    提示:本章提供的代碼中還有畫國旗和畫小豬佩奇的代碼,有興趣的讀者請自行研究。

    ---恢復內容結束---

    ## 初識Python

Python簡介

Python的歷史

  1. 1989年聖誕節:Guido von Rossum開始寫Python語言的編譯器。
  2. 1991年2月:第一個Python編譯器(同時也是解釋器)誕生,它是用C語言實現的(後面),能夠調用C語言的庫函數。在最先的版本中,Python已經提供了對「類」,「函數」,「異常處理」等構造塊的支持,還有對列表、字典等核心數據類型,同時支持以模塊爲基礎來構造應用程序。
  3. 1994年1月:Python 1.0正式發佈。
  4. 2000年10月16日:Python 2.0發佈,增長了完整的垃圾回收,提供了對Unicode的支持。與此同時,Python的整個開發過程更加透明,社區對開發進度的影響逐漸擴大,生態圈開始慢慢造成。
  5. 2008年12月3日:Python 3.0發佈,它並不徹底兼容以前的Python代碼,不過由於目前還有很多公司在項目和運維中使用Python 2.x版本,因此Python 3.x的不少新特性後來也被移植到Python 2.6/2.7版本中。

目前咱們使用的Python 3.7.x的版本是在2018年發佈的,Python的版本號分爲三段,形如A.B.C。其中A表示大版本號,通常當總體重寫,或出現不向後兼容的改變時,增長A;B表示功能更新,出現新功能時增長B;C表示小的改動(例如:修復了某個Bug),只要有修改就增長C。若是對Python的歷史感興趣,能夠閱讀名爲《Python簡史》的博文。

Python的優缺點

Python的優勢不少,簡單的能夠總結爲如下幾點。

  1. 簡單和明確,作一件事只有一種方法。
  2. 學習曲線低,跟其餘不少語言相比,Python更容易上手。
  3. 開放源代碼,擁有強大的社區和生態圈。
  4. 解釋型語言,天生具備平臺可移植性。
  5. 對兩種主流的編程範式(面向對象編程和函數式編程)都提供了支持。
  6. 可擴展性和可嵌入性,例如在Python中能夠調用C/C++代碼。
  7. 代碼規範程度高,可讀性強,適合有代碼潔癖和強迫症的人羣。

Python的缺點主要集中在如下幾點。

  1. 執行效率稍低,所以計算密集型任務能夠由C/C++編寫。
  2. 代碼沒法加密,可是如今不少公司都不銷售賣軟件而是銷售服務,這個問題會被弱化。
  3. 在開發時能夠選擇的框架太多(如Web框架就有100多個),有選擇的地方就有錯誤。

Python的應用領域

目前Python在Web應用開發、雲基礎設施、DevOps、網絡數據採集(爬蟲)、數據分析挖掘、機器學習等領域都有着普遍的應用,所以也產生了Web後端開發、數據接口開發、自動化運維、自動化測試、科學計算和可視化、數據分析、量化交易、機器人開發、天然語言處理、圖像識別等一系列相關的職位。

安裝Python解釋器

想要開始Python編程之旅,首先得在本身使用的計算機上安裝Python解釋器環境,下面將以安裝官方的Python解釋器爲例,講解如何在不一樣的操做系統上安裝Python環境。官方的Python解釋器是用C語言實現的,也是使用最爲普遍的Python解釋器,一般稱之爲CPython。除此以外,Python解釋器還有Java語言實現的Jython、C#語言實現的IronPython以及PyPy、Brython、Pyston等版本,咱們暫時不對這些內容進行介紹,有興趣的讀者能夠自行了解。

Windows環境

能夠在Python官方網站下載到Python的Windows安裝程序(exe文件),須要注意的是若是在Windows 7環境下安裝Python 3.x,須要先安裝Service Pack 1補丁包(能夠經過一些工具軟件自動安裝系統補丁的功能來安裝),安裝過程建議勾選「Add Python 3.x to PATH」(將Python 3.x添加到PATH環境變量)並選擇自定義安裝,在設置「Optional Features」界面最好將「pip」、「tcl/tk」、「Python test suite」等項所有勾選上。強烈建議選擇自定義的安裝路徑並保證路徑中沒有中文。安裝完成會看到「Setup was successful」的提示。若是稍後運行Python程序時,出現由於缺失一些動態連接庫文件而致使Python解釋器沒法工做的問題,能夠按照下面的方法加以解決。

若是系統顯示api-ms-win-crt*.dll文件缺失,能夠參照《api-ms-win-crt*.dll缺失緣由分析和解決方法》一文講解的方法進行處理或者直接在微軟官網下載Visual C++ Redistributable for Visual Studio 2015文件進行修復;若是是由於更新Windows的DirectX以後致使某些動態連接庫文件缺失問題,能夠下載一個DirectX修復工具進行修復。

Linux環境

Linux環境自帶了Python 2.x版本,可是若是要更新到3.x的版本,能夠在Python的官方網站下載Python的源代碼並經過源代碼構建安裝的方式進行安裝,具體的步驟以下所示(以CentOS爲例)。

  1. 安裝依賴庫(由於沒有這些依賴庫可能在源代碼構件安裝時由於缺失底層依賴庫而失敗)。
yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
  1. 下載Python源代碼並解壓縮到指定目錄。
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
xz -d Python-3.7.3.tar.xz
tar -xvf Python-3.7.3.tar
  1. 切換至Python源代碼目錄並執行下面的命令進行配置和安裝。
cd Python-3.7.3
./configure --prefix=/usr/local/python37 --enable-optimizations
make && make install
  1. 修改用戶主目錄下名爲.bash_profile的文件,配置PATH環境變量並使其生效。
cd ~
vim .bash_profile
# ... 此處省略上面的代碼 ...

export PATH=$PATH:/usr/local/python37/bin

# ... 此處省略下面的代碼 ...
  1. 激活環境變量。
source .bash_profile

macOS環境

macOS也自帶了Python 2.x版本,能夠經過Python的官方網站提供的安裝文件(pkg文件)安裝Python 3.x的版本。默認安裝完成後,能夠經過在終端執行python命令來啓動2.x版本的Python解釋器,啓動3.x版本的Python解釋器須要執行python3命令。

運行Python程序

確認Python的版本

能夠Windows的命令行提示符中鍵入下面的命令。

python --version

或者是在Linux或macOS系統的終端中鍵入下面的命令。

python3 --version

固然也能夠先輸入python或python3進入交互式環境,再執行如下的代碼檢查Python的版本。

import sys

print(sys.version_info)
print(sys.version)

編寫Python源代碼

能夠用文本編輯工具(推薦使用SublimeVisual Studio Code等高級文本編輯工具)編寫Python源代碼並用py做爲後綴名保存該文件,代碼內容以下所示。

print('hello, world!')

運行程序

切換到源代碼所在的目錄並執行下面的命令,看看屏幕上是否輸出了"hello, world!"。

python hello.py

python3 hello.py

代碼中的註釋

註釋是編程語言的一個重要組成部分,用於在源代碼中解釋代碼的做用從而加強程序的可讀性和可維護性,固然也能夠將源代碼中不須要參與運行的代碼段經過註釋來去掉,這一點在調試程序的時候常常用到。註釋在隨源代碼進入預處理器或編譯時會被移除,不會在目標代碼中保留也不會影響程序的執行結果。

  1. 單行註釋 - 以#和空格開頭的部分
  2. 多行註釋 - 三個引號開頭,三個引號結尾
"""
第一個Python程序 - hello, world!
向偉大的Dennis M. Ritchie先生致敬

Version: 0.1
Author: 駱昊
"""

print('hello, world!')
# print("你好,世界!")
print('你好', '世界')
print('hello', 'world', sep=', ', end='!')
print('goodbye, world', end='!\n')

Python開發工具

IDLE - 自帶的集成開發工具

IDLE是安裝Python環境時自帶的集成開發工具,以下圖所示。可是因爲IDLE的用戶體驗並非那麼好因此不多在實際開發中被採用。

IPython - 更好的交互式編程工具

IPython是一種基於Python的交互式解釋器。相較於原生的Python交互式環境,IPython提供了更爲強大的編輯和交互功能。能夠經過Python的包管理工具pip安裝IPython和Jupyter,具體的操做以下所示。

pip install ipython

pip3 install ipython

安裝成功後,能夠經過下面的ipython命令啓動IPython,以下圖所示。

Sublime Text - 高級文本編輯器

  • 首先能夠經過官方網站下載安裝程序安裝Sublime Text 3或Sublime Text 2。

  • 安裝包管理工具。
    1. 經過快捷鍵Ctrl+`或者在View菜單中選擇Show Console打開控制檯,輸入下面的代碼。
    • Sublime 3
    import  urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
    • Sublime 2
    import  urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
    1. 在瀏覽器中輸入 https://sublime.wbond.net/Package%20Control.sublime-package 下載包管理工具的安裝包,並找到安裝Sublime目錄下名爲"Installed Packages"的目錄,把剛纔下載的文件放到這個文件加下,而後重啓Sublime Text就搞定了。
  • 安裝插件。經過Preference菜單的Package Control或快捷鍵Ctrl+Shift+P打開命令面板,在面板中輸入Install Package就能夠找到安裝插件的工具,而後再查找須要的插件。咱們推薦你們安裝如下幾個插件:

    • SublimeCodeIntel - 代碼自動補全工具插件。
    • Emmet - 前端開發代碼模板插件。
    • Git - 版本控制工具插件。
    • Python PEP8 Autoformat - PEP8規範自動格式化插件。
    • ConvertToUTF8 - 將本地編碼轉換爲UTF-8。

說明:事實上Visual Studio Code多是更好的選擇,它不用花錢並提供了更爲完整和強大的功能,有興趣的讀者能夠自行研究。

PyCharm - Python開發神器

PyCharm的安裝、配置和使用在《玩轉PyCharm》進行了介紹,有興趣的讀者能夠選擇閱讀。

練習

  1. 在Python交互式環境中輸入下面的代碼並查看結果,請嘗試將看到的內容翻譯成中文。

    import this

    說明:輸入上面的代碼,在Python的交互式環境中能夠看到Tim Peter撰寫的「Python之禪」,裏面講述的道理不只僅適用於Python,也適用於其餘編程語言。

  2. 學習使用turtle在屏幕上繪製圖形。

    說明:turtle是Python內置的一個很是有趣的模塊,特別適合對計算機程序設計進行初體驗的小夥伴,它最先是Logo語言的一部分,Logo語言是Wally Feurzig和Seymour Papert在1966發明的編程語言。

    import turtle
    
    turtle.pensize(4)
    turtle.pencolor('red')
    
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    
    turtle.mainloop()

    提示:本章提供的代碼中還有畫國旗和畫小豬佩奇的代碼,有興趣的讀者請自行研究。

相關文章
相關標籤/搜索