怎樣用 Windows 入門Python?

來源:互聯網
上載者:User
配置不高

回複內容:

Python 對 Windows 相當友好啊,你們不要嚇唬新人。去下載安裝一個 ActivePython,能給 VC/C# 程式員當協助工具輔助了。再裝一個 Ulipad 當開發工具,在windows上可以愉悅的使用Python。

不否認 Python 在 *nix 環境中的價值,但是 Python 與 windows 也是非常好的搭檔。只有你需要學習 *nix 的知識時,才需要去瞭解如何在 *nix 中使用 Python。

當你對 Python 內建的互動環境有初步瞭解以後,可以安裝一個 ipython 作為日常的 python 互動環境使用,這個 shell 更友好,而且隨著你對 python 的深入瞭解,還會發現 ipython 有很多進階的功能可以提高你的生產力。

如果你會用 Emacs ,Emacs的Python外掛程式使用起來非常便利。你可以嘗試將 ipython 整合進去,形成一個很好的整合式開發環境。其實這個問題就是問 Python 如何入門,多加了 PC 兩字,引出了諸多作業系統平台糾紛,其實大可不必。PC 者,Windows 可,Linux 可,Mac OS 也可,否則光 Linux 的諸多版本,就可以吵出知乎整整一個版面的內容來。Python 的版本,Linux 和 Mac 都是預設安裝(具體 Python版本有區別),Windows 簡單安裝一下即可,後面的問題,其實就是怎麼入門 Python 的問題了,至於 那個平台學習編程好,這又是知乎整整一個版面的討論主題。
回到真正主題,說說我是怎麼入門 Python 的吧,希望有借鑒意義。記得最早是找了一本 Learning Python,大概花了兩天時間將 Python 的基本文法熟悉了一下(在接觸 Python 之前,有N+年C 語言實際工作經驗),然後就開始跟著 Udacity 的 Introduction to Computer Science一課一課的學習,連結如下:
https://www.udacity.com/course/cs101
記住,一定要做每課後面的習題,這個就如同在實際項目中的問題分析和排查,對於真正掌握這種語言至關重要。
學完了後,根據課程中的知識,自己動手用 Python 開始寫一個網頁分析和抓取的小程式,然後就知道了 Google 有一個 App Engine (簡稱 GAE)支援 Python,然後在 GAE 中實現了多個新聞網站的頁面抓取,和另一個朋友配合完成了 iOS 上新聞類彙總網站 APP 的伺服器端的開發,可惜的是 GAE 在國內無法訪問,於是只能提供給海外華人使用了。再然後想用 Django 完成一個電子商務的網站模板,開始是用Django-nonrel 在 GAE上部署,後來有一個機會,協助朋友開始用Pure Django 在 Host 上部署。通過這些實踐,慢慢覺得自己在 Python 上終於入門了。
其實學 Python 和學習其它的語言一樣,無它,唯手熟爾,不斷的逼著自己去實踐,在實踐中不斷的遇到問題和解決問題,最後你就學會了它,這個它可以是 Python,也可以是其它~難道你的配置已經低到跑不動 python 解譯器了嗎?
就我所知 8 年前的電腦跑個 python 還是沒問題的。你去下個 iPython 作為解譯器 + 編輯器基本上夠用了。當然要是圖省事,用 IDLE 也可以。

ps.
Python 是泛型指令碼語言,語言設計的很漂亮,然而他的庫(尤其是 win32 上的庫)實在是叫人難以恭維。就說一點,他向控制台寫輸出用的是 WriteConsoleOutputA 而非 WriteConsoleOutputW,後者完全支援 Unicode 而且不受 chcp 值的限制。反對 @祝博韜。對於一個需要入門 Python 的新人,平台選擇只有一點:用自己熟悉的平台,學習陌生的語言。 基本的「控制變數」啊。——我真心好奇你是那隻眼睛看出我“鼓勵人用 Windows” 的?

Python 大部分東西都是與平台無關的。而且如我下面所說,除了做網路伺服器開發,Python 還可以做許多其它事情,比如演算法研究,比如科學計算和資料採礦( SciPy 有 Win32 build),比如系統自動化,等等等等。不要局限你的視野。對與學習來說,Python 的標準庫多數情況下是平台無關的,入門階段,平台差異完全不是那麼重要。

然後,在 Windows 這樣一個 shell 指令碼難用到無法忍受、一切幾乎必須依賴 GUI 操作的作業系統中,任何的重複性工作都會讓人精神崩潰。相比其它自動化手段(bat、PowerShell 和 VBS),Python 的好處是:文法清晰、環境豐富、便於調試。相比 shell(如 Cygwin Bash),Python 預設帶了 win32 和 COM interop 庫,更方便完成各種與系統結合相對較緊密的操作。

按照 Steve Jobs 說 iTunes for Windows 的說法,Python 就是給地獄裡的 Windows 使用者的一杯涼水。

回答原題目:
裝 ActivePython 或者直接上 iPython Installing IPython (感謝 @許鋮 ),然後找一個順手的編輯器(Notepad++ 之類都很好,如果是 iPython 可以直接用 Notebook http://ipython.org/notebook.html ),然後看任何一本教材或者官方 Tutorial (docs.python.org)。IDE:pycharm
包安裝,你需要這個,http://www.lfd.uci.edu/~gohlke/pythonlibs/

然後PowerShell, IPython一搞,基本環境就全是最優了首先回答原題,初學Python,尤其是對於一個沒有任何編程經驗的人來說是有益的,在PC下在學習完基本的文法後,可以試著自己寫一些東西如給自己的相簿按照時間排序,解析MP3 ID3資訊等有意思的小項目來協助自己熟悉編程的概念。

工具的話Python內建的那一套足矣。

如果想要深入學習的話,網上有一大堆專業書籍等著你看,如果不想止步於WEB開發和自己的玩具程式,那麼歡迎進入電腦的世界。

==========================

排名第一的( @祝博韜的答案)居然是這樣的答案,不認同。

Python作為高度抽象動態語言為什麼不能在windows上學?跑在解譯器上面為什麼不能用windows來學?

Python又不是awk,Python在windows上一樣可以幹很多事情,請問我寫個爬蟲就爬點學校網站的資料需要用linux?我自己玩寫個小程式整理下本地相簿需要用linux?

我在windows下用python學習一下檔案讀取,給檔案排序,寫幾個排序演算法要到linux下去?

請分清楚兩種不同功效的OS,放在一起薄此重彼沒有任何意義。盲目排斥一類東西是不理智的行為。

========================
還是補充下吧:

POSIX API不是Python的全部,網路編程和伺服器端Python的API跟Unix系統高度吻合,那麼請問我如果是來用做分詞呢?我用來處理文本呢?我用來解析多媒體檔案?我用來做科學計算?我用來做影像處理?

如果一定要把Python綁死在Unix上,那麼起碼Python應該看起來能更像是Unix下的Perl呢!

1. 我認同@祝博韜 關於Python標準庫跟Posix API和Unix密切關係的描述。

2. 我不認同語言應該依附於系統,語言應該是完成事物方法的理性的表述元素。

3. 我不認同把Python綁死在Unix和網路編程上。

4. 我認為學習一門語言最重要的是其文法、資料結構以及合理的Paradigm,庫也是在這些基礎上衍生而來。windows不裝個powershell 都不好意思用一定不要在知乎上問這個問題。不然這答案一溜兒看下來你永遠也別想入門。

用楊絳的話說,你現在就是想的太多做的太少。
用Nike的話說,Just DO itpython能做linux指令碼語言不代表就不適合windows開發。除了極少數三方,python基本可以保證優秀的跨平台,甚至在windows下還可以做部分win32的開發。限制自己入門python在linux的平台上純粹浪費自己的時間,對於新手還要熟悉linux,無形增加成本就說一點。一定要裝 Linux。Python 是一種 Unix 的指令碼語言,不要試圖在 Windows 上學,你會浪費很多時間。

其它的可以去翻翻這個 topic:
Python 入門 - 熱門問答

===========

關於匿名使用者和 @張康 的回答,我想解釋一下。

就像《駭客與畫家》裡提到的,Python 是 Unix 的指令碼語言,語言不是存在於真空之中,而是依附於一個系統。而 Python 就依附於 Unix。Python standard library 是對 POSIX 的封裝。如果你讀過 APUE,熟悉標準 C 和 POSIX 規範,你會覺得 Python library 的一切都是那麼自然,很多時候,一個 POSIX 的 API 對應一個 Python 的 API,名字都沒有改。你想知道一個 API 有怎樣的行為,看一下 man 手冊就可以了(Python 文檔可不一定會寫清楚,它假設你知道這個 API 只是對系統 API 的簡單封裝)。一切都是檔案。管道、fd、進程、訊號,你不需要太多的思考為什麼是這麼回事。因為在 Unix 世界裡它們本來就是這麼回事。而 Python 在 Windows 上的存在是一種彆扭的移植。去查微軟的文檔?你只會查到 CreateFileEx 這樣的東西。即便是 @張康 提到的學習檔案讀取,你也不得不在開啟檔案的時候設定為 "b" 模式以免被 Windows 預設的 text 模式搞壞了分行符號。(初學者怎麼能搞得懂這一點?)你也不會在試圖用 pip 安裝 mysql 庫的時候發現那麼難編譯過去。在 Windows 上恐怕只適合學 Python 的基本公理,即文法和資料結構。

如果你學 Python 不只是打算玩玩,反正你將來寫的程式肯定會在 Unix 上面跑。你會發現比起 Windows 這是一個更適合 hacker 生活的世界。學習一門語言並不應只學習這門語言本身,也要學習這門語言存在的世界,包括整個工具鏈。只有這樣你才能真正理解它的設計思想。你會習慣用 logging、getopt/argparse、readline、shebang、守護進程等等這些標準的做法。而在 Windows 上恐怕你永遠只會把你寫的那個 py 檔案當作一個 exe 看待。為什麼不現在就直接跳過 Windows 呢?

============

問題限定在 PC,為什麼不裝 FreeBSD?因為 Linux 發行版比 FreeBSD 更適合新手使用。

============

既然匿名使用者禁止我繼續評論他的答案來迴避我的問題,那我就寫在這裡吧。你指出了 Windows 上 shell 如此難用,並且你自己也不用,為何還要鼓勵其他人用呢?我的觀點是在 Unix 環境下學習 Python,事實上你不需要精通 Unix,只需要入門一些基本命令就可以開始了。在學 Python 的過程中可以同時學習 POSIX API 和一些檔案、fd、管道之類的概念,何樂而不為?把這些丟了豈不太可惜了?

另外從頭到尾我都沒有說 Windows 不好,評論區裡的 Windows 使用者幹嘛這麼激動…
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.