用楊絳的話說,你現在就是想的太多做的太少。
用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、管道之類的概念,何樂而不為?把這些丟了豈不太可惜了?