Python那些事
Python這幾年很火,在這里我用問答的方式來總結一下使用python的一些常見問題,對自己是個總結,也希望對有同樣問題的朋友有幫助。 Q:Python為什么流行? A:Python是一個比較方便的跨平臺腳本語言。對于像我這種從C#轉型Java的程序員,我更希望用python在Linux寫腳本,而不用shell script,因為shell script實在不好懂。Python近幾年的流行要歸功于numpy和pandas,以及大數據和數據分析的流行。這些庫使python成為數據分析的不二選擇。 Q:Python 2.7和Python 3+用哪個? A:如果用python做些小項目,寫些分析數據的腳本,其實2.7就夠用了。而且主流Linux一般都有python2.7,屬于拿來就用,其實挺好的。但是如果開發大型項目,那么最好還是python3,特么是需要使用coroutine的時候,用python3原生的方法更好。但是如果項目中會使用很多第三方庫的話,最好預先檢查一下這些庫有沒有python3的版本。一般主流的庫現在都支持python3了。 Q:PyPy還是CPython? A:先說一下PyPy是啥。PyPy是一個用python實現的python虛擬機。相比CPython,由于PyPy大量使用了JIT優化,所以運行速度比CPython要快很多。但是,一些重要的第三方庫,像Pandas和numpy都不支持pypy,這也就嚴重限制了Pypy的實用性。同時在python中有個叫Global Interpreter Lock(GIL)的東西,這從本質上限制了python語言的高并發執行效率,所以如果追求性能的話,golang可能會比pypy更合適。 Q:Windows還是Linux? A:開發python還是用Linux吧,在windows 下開發很別扭,conda啥的真的不是很好用。在windows下寫腳本就更用不到python 了。Powershell這個微軟推崇的東西更好用一點。 Q:Pydev還是Pycharm? A: 這個看個人習慣。很多用python 的人都是Java程序員,用eclipse 的會覺得Pydev更好,用IntelliJ的會覺得Pycharm更好用。 Q:Pypi是啥? A:Pypi是類似nuget和maven的東西。用于管理第三方庫。注意pypi是沒有org的概念的。所以如果你的庫和上面已經有的庫重名的話,那你就只能改名了。所以如果準備把自己的庫發到pypi上的話,最好先查查名字有沒有已經被使用。 Q:Python開發環境有什么不同? A:相比開發Java或者C#這種靜態語言,開發Python可以通過使用REPL大幅提高效率。通過交互式命令行,我們可以把調試需要的數據都預先讀好,再通過shell來進行交互式的編程。這種編程方式節約了調試時啟動程序的時間,可以大大提高編程效率。在這里強力推薦使用ipython。 Q:Python適合編程新手么? A:現在很多學校把python作為學生的第一編程語言。這個我個人認為并不好。Python語言過于靈活,并不適合新手打好編程基礎。沒有很好編程習慣的程序員在面對幾萬行python的項目的時候會非常不知所措,他們寫的代碼也會很難維護。 Q:Jupyter ipython notebook要不要用? A:現在很多cloud平臺提供免費的noteobok來使用,個人只推薦進行簡單的數據分析和demo的時候用。因為notebook的代碼不好進行版本控制和單元測試。單元測試對于python來說太重要了。 Q:Python有哪些常用的庫? A:環境配置:virtualenv,pip 網頁編程:Django,pyramid或者flask 數據庫:sqlalchemy,alembic 數據分析:numpy,pandas,matplotlib,scikit-learn 單元測試:pytest,mock 這里先寫10個,以后想起來啥再慢慢加。
轉載于:https://www.cnblogs.com/mcai4gl2/p/6799984.html
總結
- 上一篇: Cocos2d-x3.1FileUtil
- 下一篇: 铁路12306APP怎么退票