導航:首頁 > 編程語言 > 編寫整潔的python

編寫整潔的python

發布時間:2023-08-04 14:08:00

編程語言python入門要學習哪些

學習python,主要學習ython基礎語法、數據類型、字元編碼、文件操作、函數、裝飾器、迭代器、內置方法、常用模塊等;之後再進階學習,如框架等。

階段一:Python開發基礎

Python全棧開發與人工智慧之Python開發基礎知識學習內容包括:Python基礎語法、數據類型、字元編碼、文件操作、函數、裝飾器、迭代器、內置方法、常用模塊等。

階段二:Python高級編程和資料庫開發

Python全棧開發與人工智慧之Python高級編程和資料庫開發知識學習內容包括:面向對象開發、Socket網路編程、線程、進程、隊列、IO多路模型、Mysql資料庫開發等。

階段三:前端開發

Python全棧開發與人工智慧之前端開發知識學習內容包括:Html、CSS、JavaScript開發、Jquery&bootstrap開發、前端框架VUE開發等。(更多學習內容,請點擊Python學習網)

階段四:WEB框架開發

Python全棧開發與人工智慧之WEB框架開發學習內容包括:Django框架基礎、Django框架進階、BBS+Blog實戰項目開發、緩存和隊列中間件、Flask框架學習、Tornado框架學習、Restful API等。

階段五:爬蟲開發

Python全棧開發與人工智慧之爬蟲開發學習內容包括:爬蟲開發實戰。

階段六:全棧項目實戰

Python全棧開發與人工智慧之全棧項目實戰學習內容包括:企業應用工具學習、CRM客戶關系管理系統開發、路飛學城在線教育平台開發等。

階段七:數據分析

Python全棧開發與人工智慧之數據分析學習內容包括:金融量化分析。

階段八:人工智慧

Python全棧開發與人工智慧之人工智慧學習內容包括:機器學習、圖形識別、無人機開發、無人駕駛等。

階段九:自動化運維&開發

Python全棧開發與人工智慧之自動化運維&開發學習內容包括:CMDB資產管理系統開發、IT審計+主機管理系統開發、分布式主機監控系統開發等。

階段十:高並發語言GO開發

Python全棧開發與人工智慧之高並發語言GO開發學習內容包括:GO語言基礎、數據類型與文件IO操作、函數和面向對象、並發編程等。

相關信息:

Python的設計目標之一是讓代碼具備高度的可閱讀性。它設計時盡量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。它不像其他的靜態語言如C、Pascal那樣需要重復書寫聲明語句,也不像它們的語法那樣經常有特殊情況和意外。

Python開發者有意讓違反了縮進規則的程序不能通過編譯,以此來強制程序員養成良好的編程習慣。並且Python語言利用縮進表示語句塊的開始和退出(Off-side規則),而非使用花括弧或者某種關鍵字。增加縮進表示語句塊的開始,而減少縮進則表示語句塊的退出。縮進成為了語法的一部分。

㈡ 如何編寫高質量的python程序

寫出規范的代碼是寫出高質量代碼的第一步,並且有助於培養仔細的習慣。

為了培養規范寫代碼的習慣,可以安裝flake8這個工具,它不僅可以檢查代碼風格是否符合官方建議(PEP8),而且還能找出潛在的隱患(用Pyflakes做語法分析),更逆天的是還能檢測到你有些函數寫的太復雜(代碼圈復雜度)了,更更逆天的是可以設置git commit之前必須通過這些檢查。

當然具體操作需要根據自己的項目進行一些定製,比如可以忽略E501,W293。

空白項目模版

好的開始是成功的一半,寫python代碼就從pyempty開始吧。

在github上看一下那些經典的項目,web.py,flask, pep8,他們的項目目錄都很規范,綜合借鑒了一些項目的特點,我寫了這個pyempty項目。

1.README.md 這里寫你項目的簡介,quick start等信息,雖然distutils要求這個文件沒有後綴名,但github上如果後綴是.md的話可以直接轉換成html顯示。

2.ChangeLog.txt 該文件存放程序各版本的變更信息,也有一定的格式,參考web.py的ChangeLog.txt

3.LICENES.txt 這里存放你項目使用的協議,不要編寫自己的協議。

4.requirements.txt 如果你的項目需要依賴其它的python第三方庫,在這里一行一個寫出來,可能pip install的時候能自動幫你安裝

5.setup.py 安裝腳本,後面詳細介紹

6.docs 裡面存放你的項目文檔,如概要設計,詳細設計,維護文檔,pydoc自動生成的文檔等,強烈推薦大家使用MarkDown格式編寫文檔

7.src 這個目錄里存放項目模塊的主要代碼,盡量不要把模塊目錄直接放到根目錄,模塊代碼目錄可以在setup.py里指定的

8.tests 這個目錄存放所有單元測試,性能測試腳本,單元測試的文件確保以test_做前綴,這樣distutils會自動打包這些文件,並且用python -m unittest discover -s ./ -p 'test_*.py' -v 可以直接執行這些測試

單元測試

Martin Fowler:"在你不知道如何測試代碼之前,就不該編寫程序。而一旦你完成了程序,測試代碼也應該完成。除非測試成功,你不能認為你編寫出了可以工作的程序。"

我們有很多理由不寫單元測試,歸根結底是懶,雖然代碼大全上說:

大部分研究都發現,檢測比測試的成本更小。NASA軟體工程實驗室的一項研究發現,閱讀代碼每小時能夠檢測出來的缺陷要比測試高出80%左右(Basili and Selby 1987)。後來,IBM的一項研究又發現,檢查發現的一個錯誤只需要3.5個工作時,而測試則需要花費15-25個工作時(Kaplan 1995)。

但是單元測試還是讓別人相信你的代碼有很高質量的最有力證據。

好了,請詳細閱讀:

深入python3.0: 單元測試-2.x也適用

Unit testing framework 不完整中文版

文檔

敏捷開發不是提倡什麼文檔也不寫,沒有文檔就沒有傳承和積累,輪崗或新人接手任務就會遇到很大的麻煩,所以我決定每個項目最少要寫以下文檔:

1.nalysis.model.md 概要設計文檔,不同於README.md文件,該文檔應該寫於項目開發之前,把項目有哪些功能,大概分幾個模塊等項目整體概述信息寫一下。

2.design.model.md 詳細設計文檔,不用太詳細,至少把項目依賴哪些東西,誰依賴這個項目,重要演算法流程描述,代碼整體結構等寫出來。

3.maintain.md 維護文檔,這個我覺得最重要,你的服務都記錄哪些日誌,需要監控哪些業務指標,如何重啟,有哪些配置項等,沒這些東西,你的項目很難運維。

上面這些文檔都是項目全局性的文檔,不適合寫在docstring或注視里,所以要有單獨的文檔。

打包

python有專門的模塊打包系統distutils,你可以用這套機制把你的代碼打包並分發到Pypi上,這樣任何人都可以用pip或easy_install安裝你的模塊。

如果你開發的是內部項目,還可以用mypypi架設私有的pypi,然後把項目的大的版本更新發布到內部的pypi上,配置管理人員和運維人員可以很方便的從pypi上拉取代碼安裝到測試環境或生產環境。

發布大版本的時候要給版本命名及編寫ChangeList,可以參考Git Pro的相關章節,主要記住以下幾個命令

git tag -a v0.1 -m 'my test tag' #給大版本命名,打Tag
git describe master #給小版本命名,Git將會返回一個字元串,由三部分組成:最近一次標定的版本號,加上自那次標定之後的提交次數,再加上一段SHA-1值
git shortlog --no-merges master --not v0.1 #生成版本簡報,ChangeList
python有自己的打包機制,所以一般不要用git archive命令。

當然大版本管理用pypi管理比較合適,小的bug fix,緊急上線等好多公司都是用git直接從生產環境拉代碼更新,因為git,svn等可以很方便的撤銷某次更新,回滾到某個位置。

如何管理好大版本上線和小的緊急上線,我還沒理清思路,歡迎大家參與討論。

關於打包,請閱讀如下鏈接:

Python 打包指南

深入Python3.0:打包 Python 類庫

python打包:分發指定文件

出自:http://developer.51cto.com/art/201209/356603.htm

㈢ 有什麼軟體可以寫python

編寫python源代碼的軟體.首推的Pycharm。PyCharm用於一般IDE具備的功能,比如, 調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制另外,PyCharm還提供了一些很好的功能用於Django開發,同時支持Google App Engine,更酷的是,PyCharm支持IronPython。其次是sublime text,Sublime Text 支持多種編程語言的語法高亮、擁有優秀的代碼自動完成功能,還擁有代碼片段(Snippet)的功能,可以將常用的代碼片段保存起來,在需要時隨時調用。支持 VIM 模式,可以使用Vim模式下的多數命令。支持宏,簡單地說就是把操作錄制下來或者自己編寫命令,然後播放剛才錄制的操作或者命令。還有Jupyter, Jupyter Notebook(此前被稱為 IPython notebook)是一個互動式筆記本,支持運行 40 多種編程語言。最後就是最基本的nopad++,最開始的時候是實用這款作為開發工具進行基礎練習。

㈣ python編程環境有哪些

Python專用的編輯器和集成開發環境
PyCharm
類別:集成開發環境

PyCharm是最好的一個(也是唯一一個)專門面向於Python的全功能集成開發環境。同樣擁有付費版(專業版)和免費開源版(社區版),PyCharm不論是在Windows, Mac OS X系統中, 還是在Linux系統中都支持快速安裝和使用。

開箱即用,PyCharm直接支持Python開發環境,打開一個新的文件然後就可以開始編寫代碼。你也可以在PyCharm中直接運行和調試Python程序,並且它支持源碼管理和項目。

640?wx_fmt=png

優點:這是真正的Python集成開發環境,擁有眾多便利和支持社區。它的編輯、運行和調試功能統統開箱即用。

缺點:PyCharm存在載入較慢的問題,另外對於已有的項目,默認設置可能需要調整。

Spyder
類別:集成開發環境

是一款為了數據科學工作流做了優化的開源Python集成開發環境。它是附在Anaconda軟體包管理器發行版中的,因此根據你的設置,或許你已經在機器中安裝了Spyder。

Spyder引人注目的一點是其目標受眾是使用Python的數據科學家們。你一定會留意到這一點,舉個例子來說,Spyder很好的集成了一些諸如SciPy、NumPy和Matplotlib這樣的公共Python數據科學庫。

Spyder擁有大部分你所期待的集成開發環境該具備的功能,例如具備強大語法高亮功能的代碼編輯器,Python代碼補全,甚至是集成文件瀏覽器。

我從未在其他Python編輯環境中見過的一個特殊功能是Spyder的「變數瀏覽器」功能,它會以表格形式出現在集成開發環境界面右側來展示數據。就我個人來說,雖然我並不十分需要這個功能,但是它看起來的確很整潔。如果你是一位日常用Python做數據科學工作的人,那你一定會深深愛上這個獨特的功能。Spyder關於IPython或者說Jupyter的集成也做得非常好。

總之,我認為Spyder比其他的集成開發環境更基本,我更願意把它看做是一款專業工具而不是我日常使用的編輯環境。關於Spyder比較優秀的一點是它兼容Windows、macOS和 Linux系統並且是一個完全開源軟體。

640?wx_fmt=jpeg

優點:當你是使用Anaconda Python發行版的數據科學家時你會愛上它。

缺點:更有經驗的Python開發人員可能會覺得Spyder太基本了以至於不能支持每日所需的基本工作,這樣的話還不如選擇一個更為完整的集成開發環境或者定製編輯器解決方案。

Thonny
類別:集成開發環境

作為Python集成開發環境大家庭中的新成員,Thonny被稱作是針對新手的一款集成開發環境。由愛沙尼亞塔爾圖大學的計算機科學學院開發並維護的Thonny適用於全部主流平台,並且在網站上附有安裝指南。

默認情況下,Thonny會和自帶捆綁的Python版本一起安裝,所以你不需要再安裝什麼新的東西。更有經驗的老手可能需要調整這個設置以便找到和使用已安裝的庫。

640?wx_fmt=png

優點:你是一名Python新人小白,並且一切就緒需要一款集成開發環境的時候你會選擇它。

缺點:更有經驗的Python老手可能會覺得Thonny同樣太基礎了,並且其內置解釋器只是一個工作場合,而不是一個可以與之共事的工具。此外,作為一款新興工具,你在遇到問題時很有可能發現沒有現成的解決方法。

㈤ python有哪些特點和優點

顯著的優點

Python 語言擁有諸多的優點,這其中,以下幾個優點特別顯著:

簡單易學:Python語言相對於其他編程語言來說,屬於比較容易學習的一門編程語言,它注重的是如何解決問題而不是編程語言的語法和結構。正是因為Python語言簡單易學,所以,已經有越來越多的初學者選擇Python語言作為編程的入門語言。例如,在浙江省 2017年高中信息技術改革中,《演算法與程序設計》課程將使用 Python語言替換原有的VB 語言。

語法優美:Python語言力求代碼簡潔、優美。在Python語言中,採用縮進來標識代碼塊,通過減少無用的大括弧,去除語句末尾的分號等視覺雜訊,使得代碼的可讀性顯著提高。閱讀一段良好的Python程序就感覺像是在讀英語一樣,它使你能夠專注於解決問題,而不用太糾結編程語言本身的語法。

豐富強大的庫:Python語言號稱自帶電池(Battery Included),寓意是Python語言的類庫非常的全面,包含了解決各種問題的類庫。無論實現什麼功能,都有現成的類庫可以使用。如果一個功能比較特殊,標准庫沒有提供相應的支持,那麼,很大概率也會有相應的開源項目提供了類似的功能。合理使用Python的類庫和開源項目,能夠快速的實現功能,滿足業務需求。

開發效率高:Python的各個優點是相輔相成的。例如,Python語言因為有了豐富強大的類庫,所以,Python的開發效率能夠顯著提高。相對於 C、C++ 和 Java等編譯語言,Python開發者的效率提高了數倍。實現相同的功能,Python代碼的文件往往只有 C、C++和Java代碼的1/5~1/3。雖然Python語言擁有很多吸引人的特性,但是,各大互聯網公司廣泛使用Python語言,很大程度上是因為Python語言開發效率高這個特點。開發效率高的語言,能夠更好的滿足互聯網快速迭代的需求,因此,Python語言在互聯網公司使用非常廣泛。

應用領域廣泛:Python語言的另一大優點就是應用領域廣泛,工程師可以使用Python 做很多的事情。例如,Web開發、網路編程、自動化運維、Linux系統管理、數據分析、科學計算、人工智慧、機器學習等等。Python語言介於腳本語言和系統語言之間,我們根據需要,既可以將它當做一門腳本語言來編寫腳本,也可以將它當做一個系統語言來編寫服務。

不可忽視的缺點

毫無疑問,Python確實有用很多的優點,每一個優點看起來都非常吸引人。但是,Python並不是沒有缺點的,最主要的缺點有以下幾個:

Python的執行速度不夠快。當然,這也不是一個很嚴重的問題,一般情況下,我們不會拿Python語言與C/C++這樣的語言進行直接比較。在Python語言的執行速度上,一方面,網路或磁碟的延遲,會抵消掉部分Python本身消耗的時間;另一方面,因為Python 特別容易和C結合起來,因此,我們可以通過分離一部分需要優化速度的應用,將其轉換為編譯好的擴展,並在整個系統中使用Python腳本將這部分應用連接起來,以提高程序的整體效率。

Python的GIL鎖限制並發:Python的另一個大問題是,對多處理器支持不好。如果讀者接觸Python時間比較長,那麼,一定聽說過GIL這個詞。GIL是指Python全局解釋器鎖(Global Interpreter Lock),當Python的默認解釋器要執行位元組碼時,都需要先申請這個鎖。這意味著,如果試圖通過多線程擴展應用程序,將總是被這個全局解釋器鎖限制。當然,我們可以使用多進程的架構來提高程序的並發,也可以選擇不同的Python實現來運行我們的程序。

Python 2與Python 3不兼容: 如果一個普通的軟體或者庫,不能夠做到後向兼容,那麼,它會被用戶無情的拋棄了。在Python中,一個槽點是Python 2與Python 3不兼容。因為Python沒有向後兼容,給所有的Python工程師帶來了無數的煩惱。

上述就是總結的Python語言的優缺點。總體來說,Python目前的發展還是非常不錯的。借著人工智慧時代的東風,Python開發人員的未來一定會很光明。

閱讀全文

與編寫整潔的python相關的資料

熱點內容
在健康青島App掛號怎麼查詢 瀏覽:269
普通人上網用的是什麼伺服器 瀏覽:453
python安裝了找不著 瀏覽:181
常微分第三版答案pdf 瀏覽:264
安卓機qq怎麼開懸浮窗 瀏覽:63
備孕三年了怎麼緩解壓力大 瀏覽:743
登錄阿里雲伺服器黑屏 瀏覽:336
匿名元組Python 瀏覽:725
華為運動健康存儲的文件夾 瀏覽:522
cad正多邊形命令 瀏覽:461
壓縮比150能加97油嗎 瀏覽:399
linux新建群在哪個文件夾 瀏覽:794
韻達快運app在哪裡簽收 瀏覽:338
阿里雲伺服器如何綁定備案域名 瀏覽:273
單片機用什麼鍵盤好 瀏覽:25
android動畫面試 瀏覽:309
pdf無法刪除 瀏覽:90
ftp刪除文件java 瀏覽:89
裂變棋牌源碼 瀏覽:87
邀月命令江別鶴退婚 瀏覽:656