python基礎(chǔ)學(xué)習(xí)

初識Python

Python簡介

Python的歷史

  1. 1989年圣誕節(jié):Guido von Rossum開始寫Python語言的編譯器。
  2. 1991年2月:第一個Python編譯器(同時也是解釋器)誕生,它是用C語言實現(xiàn)的(后面又出現(xiàn)了Java和C#實現(xiàn)的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他實現(xiàn)),可以調(diào)用C語言的庫函數(shù)。在最早的版本中,Python已經(jīng)提供了對“類”,“函數(shù)”,“異常處理”等構(gòu)造塊的支持,同時提供了“列表”和“字典”等核心數(shù)據(jù)類型,同時支持以模塊為基礎(chǔ)來構(gòu)造應(yīng)用程序。
  3. 1994年1月:Python 1.0正式發(fā)布。
  4. 2000年10月16日:Python 2.0發(fā)布,增加了實現(xiàn)完整的垃圾回收,提供了對Unicode的支持。與此同時,Python的整個開發(fā)過程更加透明,社區(qū)對開發(fā)進度的影響逐漸擴大,生態(tài)圈開始慢慢形成。
  5. 2008年12月3日:Python 3.0發(fā)布,它并不完全兼容之前的Python代碼,不過因為目前還有不少公司在項目和運維中使用Python 2.x版本,所以Python 3.x的很多新特性后來也被移植到Python 2.6/2.7版本中。

目前我們使用的Python 3.7.x的版本是在2018年發(fā)布的,Python的版本號分為三段,形如A.B.C。其中A表示大版本號,一般當(dāng)整體重寫,或出現(xiàn)不向后兼容的改變時,增加A;B表示功能更新,出現(xiàn)新功能時增加B;C表示小的改動(例如:修復(fù)了某個Bug),只要有修改就增加C。如果對Python的歷史感興趣,可以閱讀名為《Python簡史》的博文。

Python的優(yōu)缺點

Python的優(yōu)點很多,簡單的可以總結(jié)為以下幾點。

  1. 簡單和明確,做一件事只有一種方法。
  2. 學(xué)習(xí)曲線低,跟其他很多語言相比,Python更容易上手。
  3. 開放源代碼,擁有強大的社區(qū)和生態(tài)圈。
  4. 解釋型語言,天生具有平臺可移植性。
  5. 支持兩種主流的編程范式(面向?qū)ο缶幊毯秃瘮?shù)式編程)都提供了支持。
  6. 可擴展性和可嵌入性,可以調(diào)用C/C++代碼,也可以在C/C++中調(diào)用Python。
  7. 代碼規(guī)范程度高,可讀性強,適合有代碼潔癖和強迫癥的人群。

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

  1. 執(zhí)行效率稍低,因此計算密集型任務(wù)可以由C/C++編寫。
  2. 代碼無法加密,但是現(xiàn)在很多公司都不銷售賣軟件而是銷售服務(wù),這個問題會被淡化。
  3. 在開發(fā)時可以選擇的框架太多(如Web框架就有100多個),有選擇的地方就有錯誤。

Python的應(yīng)用領(lǐng)域

目前Python在Web應(yīng)用開發(fā)、云基礎(chǔ)設(shè)施、DevOps、網(wǎng)絡(luò)爬蟲開發(fā)、數(shù)據(jù)分析挖掘、機器學(xué)習(xí)等領(lǐng)域都有著廣泛的應(yīng)用,因此也產(chǎn)生了Web后端開發(fā)、數(shù)據(jù)接口開發(fā)、自動化運維、自動化測試、科學(xué)計算和可視化、數(shù)據(jù)分析、量化交易、機器人開發(fā)、圖像識別和處理等一系列的職位。

搭建編程環(huán)境

Windows環(huán)境

可以在Python官方網(wǎng)站下載到Python的Windows安裝程序(exe文件),需要注意的是如果在Windows 7環(huán)境下安裝Python 3.x,需要先安裝Service Pack 1補丁包(可以通過一些工具軟件自動安裝系統(tǒng)補丁的功能來安裝),安裝過程建議勾選“Add Python 3.x to PATH”(將Python 3.x添加到PATH環(huán)境變量)并選擇自定義安裝,在設(shè)置“Optional Features”界面最好將“pip”、“tcl/tk”、“Python test suite”等項全部勾選上。強烈建議選擇自定義的安裝路徑并保證路徑中沒有中文。安裝完成會看到“Setup was successful”的提示。如果稍后運行Python程序時,出現(xiàn)因為缺失一些動態(tài)鏈接庫文件而導(dǎo)致Python解釋器無法工作的問題,可以按照下面的方法加以解決。

如果系統(tǒng)顯示api-ms-win-crt*.dll文件缺失,可以參照《api-ms-win-crt*.dll缺失原因分析和解決方法》一文講解的方法進行處理或者直接在微軟官網(wǎng)下載Visual C++ Redistributable for Visual Studio 2015文件進行修復(fù);如果是因為更新Windows的DirectX之后導(dǎo)致某些動態(tài)鏈接庫文件缺失問題,可以下載一個DirectX修復(fù)工具進行修復(fù)。

Linux環(huán)境

Linux環(huán)境自帶了Python 2.x版本,但是如果要更新到3.x的版本,可以在Python的官方網(wǎng)站下載Python的源代碼并通過源代碼構(gòu)建安裝的方式進行安裝,具體的步驟如下所示。

安裝依賴庫(因為沒有這些依賴庫可能在源代碼構(gòu)件安裝時因為缺失底層依賴庫而失?。?/p>

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

下載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

切換至Python源代碼目錄并執(zhí)行下面的命令進行配置和安裝。

cd Python-3.7.3
./configure --prefix=/usr/local/python37 --enable-optimizations
make && make install

修改用戶主目錄下名為.bash_profile的文件,配置PATH環(huán)境變量并使其生效。

cd ~
vim .bash_profile
# ... 此處省略上面的代碼 ...

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

# ... 此處省略下面的代碼 ...

激活環(huán)境變量。

source .bash_profile

macOS環(huán)境

macOS也自帶了Python 2.x版本,可以通過Python的官方網(wǎng)站提供的安裝文件(pkg文件)安裝Python 3.x的版本。默認(rèn)安裝完成后,可以通過在終端執(zhí)行python命令來啟動2.x版本的Python解釋器,可以通過執(zhí)行python3命令來啟動3.x版本的Python解釋器。

從終端運行Python程序

確認(rèn)Python的版本

可以Windows的命令行提示符中鍵入下面的命令。

python --version

或者是在Linux或macOS系統(tǒng)的終端中鍵入下面的命令。

python3 --version

當(dāng)然也可以先輸入python或python3進入交互式環(huán)境,再執(zhí)行以下的代碼檢查Python的版本。

import sys

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

編寫Python源代碼

可以用文本編輯工具(推薦使用SublimeAtom、Visual Studio Code等高級文本編輯工具)編寫Python源代碼并用py作為后綴名保存該文件,代碼內(nèi)容如下所示。

print('hello, world!')

運行程序

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

python hello.py

python3 hello.py

代碼中的注釋

注釋是編程語言的一個重要組成部分,用于在源代碼中解釋代碼的作用從而增強程序的可讀性和可維護性,當(dāng)然也可以將源代碼中不需要參與運行的代碼段通過注釋來去掉,這一點在調(diào)試程序的時候經(jīng)常用到。注釋在隨源代碼進入預(yù)處理器或編譯時會被移除,不會在目標(biāo)代碼中保留也不會影響程序的執(zhí)行結(jié)果。

  1. 單行注釋 - 以#和空格開頭的部分
  2. 多行注釋 - 三個引號開頭,三個引號結(jié)尾
"""
第一個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')

其他工具介紹

IDLE - 自帶的集成開發(fā)工具

IDLE是安裝Python環(huán)境時自帶的集成開發(fā)工具,如下圖所示。但是由于IDLE的用戶體驗并不是那么好所以很少在實際開發(fā)中被采用。

[圖片上傳失敗...(image-c2a38b-1562911677679)]

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

IPython是一種基于Python的交互式解釋器。相較于原生的Python交互式環(huán)境,IPython提供了更為強大的編輯和交互功能??梢酝ㄟ^Python的包管理工具pip安裝IPython和Jupyter,具體的操作如下所示。

pip install ipython

pip3 install ipython

安裝成功后,可以通過下面的ipython命令啟動IPython,如下圖所示。

[圖片上傳失敗...(image-88e931-1562911677679)]

當(dāng)然,我們也可以通過安裝Jupyter工具并運行名為notebook的程序在瀏覽器窗口中進行交互式代碼編寫操作。

pip install jupyter

pip3 intall jupyter

然后執(zhí)行下面的命令:

jupyter notebook

[圖片上傳失敗...(image-f030a3-1562911677679)]

Sublime / Visual Studio Code - 高級文本編輯器

[圖片上傳失敗...(image-13ff86-1562911677679)]

  • 首先可以通過官方網(wǎng)站下載安裝程序安裝Sublime 3或Sublime 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 text,選擇菜單Preferences->Browse Packages... 打開安裝目錄
      此時會進入到一個叫做Packages的目錄下,點擊進入上一層目錄Sublime Text3,在此目錄下有一個文件夾叫做Installed Packages,把剛才下載的文件放到這里就可以了。然后重啟sublime text3,觀察Preferences菜單最下邊是否有Package Settings 和Package Control兩個選項,如果有,則代表安裝成功了。
  • 安裝插件。通過Preference菜單的Package Control或快捷鍵Ctrl+Shift+P打開命令面板,在面板中輸入Install Package就可以找到安裝插件的工具,然后再查找需要的插件。我們推薦大家安裝以下幾個插件:

    • SublimeCodeIntel - 代碼自動補全工具插件。
    • Emmet - 前端開發(fā)代碼模板插件。
    • Git - 版本控制工具插件。
    • Python PEP8 Autoformat - PEP8規(guī)范自動格式化插件。
    • ConvertToUTF8 - 將本地編碼轉(zhuǎn)換為UTF-8。

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

PyCharm - Python開發(fā)神器

PyCharm的安裝、配置和使用在《玩轉(zhuǎn)PyCharm》進行了介紹,有興趣的讀者可以選擇閱讀。

[圖片上傳失敗...(image-a62ea0-1562911677679)]

練習(xí)

  1. 在Python交互環(huán)境中查看下面的代碼結(jié)果,并試著將這些內(nèi)容翻譯成中文。

    import this
    

    說明:當(dāng)前鍵入上面的命令后會在交互式環(huán)境中看到如下所示的輸出,這段內(nèi)容被稱為“Python之禪”,里面講述的道理不僅僅適用于Python,也適用于其他編程語言。

  2. 學(xué)習(xí)使用turtle在屏幕上繪制圖形。

    說明:turtle是Python內(nèi)置的一個非常有趣的模塊,特別適用于讓小朋友體會什么是編程,它最早是Logo語言的一部分,Logo語言是Wally Feurzig和Seymour Papert在1966發(fā)明的編程語言.

    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()
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容