新聞中心
本篇內(nèi)容介紹了“Python基礎(chǔ)知識(shí)點(diǎn)分析”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)公司網(wǎng)絡(luò)公司擁有10年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),成百上千家客戶的共同信賴。提供做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)站開發(fā)、網(wǎng)站定制、賣友情鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)
Python簡(jiǎn)介
Python的歷史
1989年圣誕節(jié):Guido von Rossum開始寫Python語言的編譯器。
1991年2月:第一個(gè)Python編譯器(同時(shí)也是解釋器)誕生,它是用C語言實(shí)現(xiàn)的(后面又出現(xiàn)了Java和C#實(shí)現(xiàn)的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他實(shí)現(xiàn)),可以調(diào)用C語言的庫函數(shù)。在最早的版本中,Python已經(jīng)提供了對(duì)“類”,“函數(shù)”,“異常處理”等構(gòu)造塊的支持,同時(shí)提供了“列表”和“字典”等核心數(shù)據(jù)類型,同時(shí)支持以模塊為基礎(chǔ)的拓展系統(tǒng)。
1994年1月:Python 1.0正式發(fā)布。
2000年10月16日:Python 2.0發(fā)布,增加了實(shí)現(xiàn)完整的 垃圾回收 ,提供了對(duì) Unicode 的支持。與此同時(shí),Python的整個(gè)開發(fā)過程更加透明,社區(qū)對(duì)開發(fā)進(jìn)度的影響逐漸擴(kuò)大,生態(tài)圈開始慢慢形成。
2008年12月3日:Python 3.0發(fā)布,它并不完全兼容之前的Python代碼,不過因?yàn)槟壳斑€有不少公司在項(xiàng)目和運(yùn)維中使用Python 2.x版本,所以Python 3.x的很多新特性后來也被移植到Python 2.6/2.7版本中。
目前我們使用的Python 3.7.x的版本是在2018年發(fā)布的,Python的版本號(hào)分為三段,形如A.B.C。其中A表示大版本號(hào),一般當(dāng)整體重寫,或出現(xiàn)不向后兼容的改變時(shí),增加A;B表示功能更新,出現(xiàn)新功能時(shí)增加B;C表示小的改動(dòng)(如修復(fù)了某個(gè)Bug),只要有修改就增加C。如果對(duì)Python的歷史感興趣,可以查看一篇名為 《Python簡(jiǎn)史》 的博文。
Python的優(yōu)缺點(diǎn)
Python的優(yōu)點(diǎn)很多,簡(jiǎn)單的可以總結(jié)為以下幾點(diǎn)。
簡(jiǎn)單和明確,做一件事只有一種方法。
學(xué)習(xí)曲線低,跟其他很多語言相比,Python更容易上手。
開放源代碼,擁有強(qiáng)大的社區(qū)和生態(tài)圈。
解釋型語言,天生具有平臺(tái)可移植性。
支持兩種主流的編程范式(面向?qū)ο缶幊毯秃瘮?shù)式編程)都提供了支持。
可擴(kuò)展性和可嵌入性,可以調(diào)用C/C++代碼,也可以在C/C++中調(diào)用Python。
代碼規(guī)范程度高,可讀性強(qiáng),適合有代碼潔癖和強(qiáng)迫癥的人群。
Python的缺點(diǎn)主要集中在以下幾點(diǎn)。
執(zhí)行效率稍低,因此計(jì)算密集型任務(wù)可以由C/C++編寫。
代碼無法加密,但是現(xiàn)在的公司很多都不是賣軟件而是賣服務(wù),這個(gè)問題會(huì)被淡化。
在開發(fā)時(shí)可以選擇的框架太多(如Web框架就有100多個(gè)),有選擇的地方就有錯(cuò)誤。
Python的應(yīng)用領(lǐng)域
目前Python在云基礎(chǔ)設(shè)施、DevOps、網(wǎng)絡(luò)爬蟲開發(fā)、數(shù)據(jù)分析挖掘、機(jī)器學(xué)習(xí)等領(lǐng)域都有著廣泛的應(yīng)用,因此也產(chǎn)生了Web后端開發(fā)、數(shù)據(jù)接口開發(fā)、自動(dòng)化運(yùn)維、自動(dòng)化測(cè)試、科學(xué)計(jì)算和可視化、數(shù)據(jù)分析、量化交易、機(jī)器人開發(fā)、圖像識(shí)別和處理等一系列的職位。
搭建編程環(huán)境
Windows環(huán)境
可以在 Python官方網(wǎng)站 下載到Python的Windows安裝程序(exe文件),需要注意的是如果在Windows 7環(huán)境下安裝需要先安裝Service Pack 1補(bǔ)丁包(可以通過一些工具軟件自動(dòng)安裝系統(tǒng)補(bǔ)丁的功能來安裝),安裝過程建議勾選“Add Python 3.6 to PATH”(將Python 3.6添加到PATH環(huán)境變量)并選擇自定義安裝,在設(shè)置“Optional Features”界面最好將“pip”、“tcl/tk”、“Python test suite”等項(xiàng)全部勾選上。強(qiáng)烈建議使用自定義的安裝路徑并保證路徑中沒有中文。安裝完成會(huì)看到“Setup was successful”的提示,但是在啟動(dòng)Python環(huán)境時(shí)可能會(huì)因?yàn)槿笔б恍﹦?dòng)態(tài)鏈接庫文件而導(dǎo)致Python解釋器無法運(yùn)行,常見的問題主要是api-ms-win-crt*.dll缺失以及更新DirectX之后導(dǎo)致某些動(dòng)態(tài)鏈接庫文件缺失,前者可以參照 《api-ms-win-crt*.dll缺失原因分析和解決方法》 一文講解的方法進(jìn)行處理或者直接在 微軟官網(wǎng) 下載Visual C++ redistributable for Visual Studio 2015文件進(jìn)行修復(fù),后者可以下載一個(gè)DirectX修復(fù)工具進(jìn)行修復(fù)。
Linux環(huán)境
Linux環(huán)境自帶了Python 2.x版本,但是如果要更新到3.x的版本,可以在 Python的官方網(wǎng)站 下載Python的源代碼并通過源代碼構(gòu)建安裝的方式進(jìn)行安裝,具體的步驟如下所示。
安裝依賴庫(因?yàn)闆]有這些依賴庫可能在源代碼構(gòu)件安裝時(shí)因?yàn)槿笔У讓右蕾噹於。?/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í)行下面的命令進(jìn)行配置和安裝。
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# ... 此處省略下面的代碼 ...
source .bash_profile
MacOS環(huán)境
MacOS也是自帶了Python 2.x版本的,可以通過 Python的官方網(wǎng)站 提供的安裝文件(pkg文件)安裝3.x的版本。默認(rèn)安裝完成后,可以通過在終端執(zhí)行python命令來啟動(dòng)2.x版本的Python解釋器,可以通過執(zhí)行python3命令來啟動(dòng)3.x版本的Python解釋器。
從終端運(yùn)行Python程序
確認(rèn)Python的版本
在終端或命令行提示符中鍵入下面的命令。
python --version
當(dāng)然也可以先輸入python進(jìn)入交互式環(huán)境,再執(zhí)行以下的代碼檢查Python的版本。
import sysprint(sys.version_info)print(sys.version)
編寫Python源代碼
可以用文本編輯工具(推薦使用Sublime、Atom、TextMate、VSCode等高級(jí)文本編輯工具)編寫Python源代碼并將其命名為hello.py保存起來,代碼內(nèi)容如下所示。
print('hello, world!')
運(yùn)行程序
切換到源代碼所在的目錄并執(zhí)行下面的命令,看看屏幕上是否輸出了"hello, world!"。
python hello.py
代碼中的注釋
注釋是編程語言的一個(gè)重要組成部分,用于在源代碼中解釋代碼的作用從而增強(qiáng)程序的可讀性和可維護(hù)性,當(dāng)然也可以將源代碼中不需要參與運(yùn)行的代碼段通過注釋來去掉,這一點(diǎn)在調(diào)試程序的時(shí)候經(jīng)常用到。注釋在隨源代碼進(jìn)入預(yù)處理器或編譯時(shí)會(huì)被移除,不會(huì)在目標(biāo)代碼中保留也不會(huì)影響程序的執(zhí)行結(jié)果。
單行注釋 - 以#和空格開頭的部分
多行注釋 - 三個(gè)引號(hào)開頭,三個(gè)引號(hào)結(jié)尾
"""第一個(gè)Python程序 - hello, world!向偉大的Dennis M. Ritchie先生致敬Version: 0.1Author: 駱昊"""print('hello, world!')# print("你好,世界!")print('你好', '世界')print('hello', 'world', sep=', ', end='!')print('goodbye, world', end='!\n')
其他工具介紹
IDLE - 自帶的集成開發(fā)工具
IDLE是安裝Python環(huán)境時(shí)自帶的集成開發(fā)工具,如下圖所示。但是由于IDLE的用戶體驗(yàn)并不是那么好所以很少在實(shí)際開發(fā)中被采用。
IPython - 更好的交互式編程工具
IPython是一種基于Python的交互式解釋器。相較于原生的Python Shell,IPython提供了更為強(qiáng)大的編輯和交互功能??梢酝ㄟ^Python的包管理工具pip安裝IPython和Jupyter,具體的操作如下所示。
pip install ipython jupyter
或者
python -m pip install ipython jupyter
安裝成功后,可以通過下面的ipython命令啟動(dòng)IPython,如下圖所示。
當(dāng)然我們也可以通過Jupyter運(yùn)行名為notebook的項(xiàng)目在瀏覽器窗口中進(jìn)行交互式操作。
jupyter notebook
anaconda - 一站式的數(shù)據(jù)科學(xué)神器
Anaconda指的是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng)。 因?yàn)榘舜罅康目茖W(xué)包,Anaconda 的下載文件比較大(約 531 MB),如果只需要某些包,或者需要節(jié)省帶寬或存儲(chǔ)空間,也可以使用Miniconda這個(gè)較小的發(fā)行版(僅包含conda和 Python)。 對(duì)于學(xué)習(xí)數(shù)據(jù)科學(xué)的人來說,anaconda是絕對(duì)的神器,安裝簡(jiǎn)便,而且anaconda支持安裝相關(guān)軟件【例如前文提到的ipython,jupyter notebook,甚至有R等其他數(shù)據(jù)科學(xué)軟件 】 一個(gè)相當(dāng)有價(jià)值的介紹 現(xiàn)在唯一的問題在于清華鏡像服務(wù)已經(jīng)關(guān)閉,跨國下載會(huì)比較慢
Sublime - 文本編輯神器
首先可以通過 官方網(wǎng)站 下載安裝程序安裝Sublime 3或Sublime 2。
安裝包管理工具。
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())
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')
Sublime 2
Sublime 3
手動(dòng)安裝瀏覽器輸入 https://sublime.wbond.net/Package%20Control.sublime-package 下載這個(gè)文件 下載好以后,打開sublime text,選擇菜單Preferences->Browse Packages... 打開安裝目錄 此時(shí)會(huì)進(jìn)入到一個(gè)叫做Packages的目錄下,點(diǎn)擊進(jìn)入上一層目錄Sublime Text3,在此目錄下有一個(gè)文件夾叫做Installed Packages,把剛才下載的文件放到這里就可以了。然后重啟sublime text3,觀察Preferences菜單最下邊是否有Package Settings 和Package Control兩個(gè)選項(xiàng),如果有,則代表安裝成功了。
通過快捷鍵Ctrl+`或者在View菜單中選擇Show Console打開控制臺(tái),輸入下面的代碼。
安裝插件。通過Preference菜單的Package Control或快捷鍵Ctrl+Shift+P打開命令面板,在面板中輸入Install Package就可以找到安裝插件的工具,然后再查找需要的插件。我們推薦大家安裝以下幾個(gè)插件:
SublimeCodeIntel - 代碼自動(dòng)補(bǔ)全工具插件。
Emmet - 前端開發(fā)代碼模板插件。
Git - 版本控制工具插件。
Python PEP8 Autoformat - PEP8規(guī)范自動(dòng)格式化插件。
ConvertToUTF8 - 將本地編碼轉(zhuǎn)換為UTF-8。
PyCharm - Python開發(fā)神器
PyCharm的安裝、配置和使用我們?cè)诤竺鏁?huì)進(jìn)行介紹。
Gitpod - 一鍵式在線開發(fā)工具
只需單擊即可在GitHub上打開任何Python項(xiàng)目。
練習(xí)
在Python交互環(huán)境中查看下面的代碼結(jié)果,并將內(nèi)容翻譯成中文。
import this Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules.Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch.Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea.If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!
學(xué)習(xí)使用turtle在屏幕上繪制圖形。
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基礎(chǔ)知識(shí)點(diǎn)分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
本文名稱:Python基礎(chǔ)知識(shí)點(diǎn)分析
當(dāng)前路徑:http://fisionsoft.com.cn/article/pepioc.html