主頁 > 軟體設計 > 卸載 PyCharm!這才是 Python 小白的最理想的 IDE

卸載 PyCharm!這才是 Python 小白的最理想的 IDE

2021-02-21 10:34:28 軟體設計

若你在搜索引擎(如百度)或者各種問答社區(如知乎)搜索『學習Python 最好的 IDE/編輯器是哪個?

我想答案肯定是:PyCharm、Jupyter、VSCode、Vim、Sublime Text

不過,在我看來,最好的編輯器 應當視情況而定,比如

  • 如果你是搞資料分析、機器學習的,推薦你使用 Jupyter
  • 如果是搞大型工程專案的,經常要閱讀開源專案代碼,推薦你使用 PyCharm
  • 如果你需要使用多種編輯語言,并且不喜歡使用 JB 家的破解版軟體,推薦你使用 VS Code
  • 如果你閑得淡疼、追求極客,那推薦你使用 Vim

除此之外,還有非常多優秀的 Python 代碼編輯器,比如 Sublime Text、Atom、Wing、Spyder 等,

但是我今天要介紹的這個 IDE ,你很有可能沒有使用過,更有可能連聽都沒聽過,它叫 Thonny,它是由塔爾圖大學開發,適合新手程式員,其界面沒有任何復雜或多余功能,很容易上手,另一個適合新手的地方是,你可以看到 Python 在每一步中對你的運算式的評估,

我推薦所有的 Python 新手,都去安裝一個 Thonny ,

理由如下:

  • 它支持全平臺(Windows,Mac,Linux)
  • 它支持簡體中文,對英文不好的同學非常友好
  • 它界面簡潔直白,內置的功能都是完全面向新手的
  • 它內置 Python 3,無需新手額外安裝Python和配置環境
  • 它的除錯界面非常直觀,可吊打市面上 90% 的編輯器
  • 它提供比代碼行粒度更小的除錯模式,是它閃光點之一
  • 它支持語法高亮,應該是基本功能了
  • 它支持代碼補全(只可惜不是自動,而是手動)
  • 它內置非常簡潔易用的圖形界面包管理器

下面一一為大家進行演示

1. 全平臺支持

無論你使用的是 Win、Mac,還是 Linux,Thonny 都有對應的版本支持,

Win 和 Mac 版本的安裝包,我已經全部打包好了,可點此下載:https://wws.lanzous.com/iX5rWlvkdfa

對于 Linux 用戶,需要使用命令來安裝

# Binary bundle for PC (Thonny+Python):
$ wget -O - https://thonny.org/installer-for-linux)

# With pip
$ pip3 install thonny

# Debian, Raspbian, Ubuntu, Mint and others:
sudo apt install thonny

# Fedora
$ sudo dnf install thonny

2. 支持簡體中文

Thonny 是雖然是外國人開發的,不過它目前也是支持簡體中文的,這對于英文不好的初學者,真的是福音,

在你安裝的時候就會提示你進行語言選擇

如果安裝時忘記設定,同樣也是可以在選單欄二次更改,

3. 內置 Python

對于新手來說,最重要的就是能夠盡快有一個可以跑代碼的環境

Thonny 內置了 Python 3.7.9 ,因此它不需要你去官網下載 Python 解釋器,也不用你去學習如何配置環境變數,

通過查看 os 模塊的路徑,可以得知這個 Python 的安裝路徑

當然了,如果你覺得 Python 3.7 已經過時了,想使用最新的 Python 3.9 也是可以設定的

4. 簡潔的界面

整個軟體的界面非常的簡潔,可以說多余的功能一個都沒有,而該有的功能也一個不少,

隨便打開一個測驗用的 Python 腳本,點擊右上角的運行按鈕就可以運行這個腳本程式,程式中列印的內容會在 Shell 視窗中列印,從界面上很容易可以看出,實際上你點擊運行按鈕后,就是在 Shell 視窗中執行一條 %Run xx.py 的魔法命令,

5. 可視化包管理器

同時他還自帶了可視化的包管理器,方便新手安裝和卸載 Python 的各種第三方包

6. 手動代碼補全

同時作為一款簡易的 IDE , Thonny 同時也是支持代碼補全,只不過這代碼補全并不是那么智能,需要按下快捷鍵(? + s)來手動觸發,

7. 驚艷全座的除錯功能

以上如果還不足以讓你動心,別急,我來介紹下 Thonny 最讓為驚艷的除錯功能,

通過選單欄調出 變數面板,此時你在 Shell 中定義的變數,都會顯示在變數面板上,一旦你對變數進行修改,變數面板也會實時重繪,

通過點擊控制面板上的小甲蟲,就進入了除錯模式,甲蟲旁邊的四個按鈕就會跟著亮起來,分別是

  • 步過(Step Over) :以代碼行為單位的單步除錯
  • 步進 (Step Into):比步過更細粒度的單步除錯,可進入函式
  • 步出(Step Out) :執行到函式執行結束
  • 恢復執行 :執行到程式結束

咦,你肯定會說,明哥,你別標題黨了,這些功能在 PyCharm 上不是都有嗎?

別急,請你接著往下看,Thonny 中的步進除錯達到的效果,就算是 PyCharm 也還沒有做到如此便于新手學習的除錯體驗,

它可以把單行運算式,拆分成多個步驟進行除錯,在這個程序中,運算式中的變數名會直接顯示為其數值,這對于新手理解復雜的單行運算式是非常有幫助的,

具體請看下面這張動圖,age <= 3 這個運算式,會先顯示 age 的變數值,然后和3進行邏輯運算,再把運算的結果顯示出來,

當你使用 步進 進入函式呼叫,每呼叫一步函式,都會重新打開一個帶有單獨的區域變數表和代碼指標的新視窗,它能夠幫助學習者充分了解函式呼叫的原理,尤其對于理解遞回這種相對復雜的邏輯,

下面以一個生成 斐波那契數列 的函式為例演示

Thonny 中步進除錯可以說是它的一大亮點,但是可惜的是Thonny 目前還不支持設定斷點,這是比較遺憾的,

8. 快捷鍵一覽表

Windows 的快捷鍵


Mac 的快捷鍵

9. 寫在最后

取之 Python,用之Python,Thonny 是基于 Python 內置圖形庫 tkinter開發出來的一個可視化工具,它是完全面向 Python 初學者的 輕量級 Python IDE,它能幫助初學者搞懂每一行代碼的運行細節,它幫小白解決了一些繁雜的環境問題,真正做到拿到即學,

在我看來,是最適合 Python 初學者的 IDE ,推薦給你使用,

Thonny 下載鏈接:https://wws.lanzous.com/iX5rWlvkdfa

另外,我還整理了 100 個 PyCharm 的使用技巧,為了讓新手能夠直接上手,我花了很多的時間錄制了上百張 GIF 動圖,有興趣的前往在線檔案閱讀:

PyCharm 中文指南 1.0 檔案

以下是詳細目錄:

  • 第一章:下載與安裝
    • 1.1 【版本介紹】多個版本的介紹與選擇
    • 1.2 【安裝使用 01】下載使用社區版
    • 1.3 【安裝使用 02】使用專業版的五種方法
    • 1.4 【免費使用 01】學生和老師可申請免費專業版
    • 1.5 【免費使用 02】利用開源專案申請免費專業版
  • 第二章:除錯與運行
    • 2.1 【運行技巧 01】運行 Python 的四種方式
    • 2.2 【運行技巧 02】通過指定引數,執行程式
    • 2.3 【除錯技巧 01】超詳細圖文教你除錯代碼
    • 2.4 【除錯技巧 02】程式結束了,照樣可以除錯
    • 2.5 【除錯技巧 03】7 步實作遠程代碼除錯
  • 第三章:界面與排版
    • 3.1 【界面改造 01】打造顏值超高的界面
    • 3.2 【界面改造 02】關閉礙眼的波浪線
    • 3.3 【界面改造 03】開啟護眼模式
    • 3.4 【界面改造 04】開啟多行標簽頁
    • 3.5 【界面改造 05】關閉煩人的燈泡提示
    • 3.6 【界面改造 06】小螢屏必看:開啟大螢屏編碼模式
    • 3.7 【界面改造 07】大螢屏必看:分屏查看代碼
  • 第四章:代碼的編輯
    • 4.1 【高效編輯 01】重寫父類方法的正確姿勢
    • 4.2 【高效編輯 02】縮進和反縮進
    • 4.3 【高效編輯 03】實作介面方法的正確姿勢
    • 4.4 【高效編輯 04】快速開啟新的一行
    • 4.5 【高效編輯 05】變數名一鍵實作大小寫的轉換
    • 4.6 【高效編輯 06】代碼塊實作隨處折疊
    • 4.7 【高效編輯 07】洗掉與剪切的技巧
    • 4.8 【高效編輯 08】歷史剪切板的使用:Paste from History
    • 4.9 【高效編輯 09】使用函式時,快速查看該函式有哪些引數
    • 4.10 【高效編輯 10】自動糾正與自動補全
    • 4.11 【高效編輯 11】輸出結果美化:Show as JSON
    • 4.12 【高效編輯 12】顯示背景關系資訊
    • 4.13 【高效編輯 13】一鍵預覽模塊的檔案
  • 第五章:快捷與效率
    • 5.1 【提高效率 01】復雜操作,錄制成宏
    • 5.2 【提高效率 02】使用收藏夾,收藏關鍵代碼位
    • 5.3 【提高效率 03】一套快捷鍵,精準打開工具列
    • 5.4 【提高效率 04】使用模板,快速捕獲例外
    • 5.5 【提高效率 05】快速輸入自定義代碼片段
    • 5.6 【提高效率 06】代碼模板,效率編碼
    • 5.7 【提高效率 07】代碼封裝,一步到位
    • 5.8 【提高效率 08】爬蟲必備,一鍵加引號
  • 第六章:搜索與導航
    • 6.1 【搜索技巧 01】精準搜索函式在哪些地方被呼叫
    • 6.2 【搜索技巧 02】在專案中使用書簽,快速定位
    • 6.3 【搜索技巧 03】無死角搜索:搜索的八種姿勢
    • 6.4 【搜索技巧 04】搜索時過濾測驗檔案
    • 6.5 【搜索技巧 05】當前檔案替換與全域替換
    • 6.6 【搜索技巧 06】顯示當前類的繼承樹:Type Hierarchy
    • 6.7 【搜索技巧 07】顯示當前方法的呼叫樹:Method Hierarchy
    • 6.8 【導航技巧 01】跳轉到最后編輯的地方
    • 6.9 【導航技巧 02】在子類方法中快速進入父類方法
    • 6.10 【導航技巧 03】前進/后退 到上次"點擊"的地方
    • 6.11 【導航技巧 04】顯示最近打開過的檔案
    • 6.12 【導航技巧 05】不使用滑鼠,操作目錄打開檔案
    • 6.13 【導航技巧 06】快速跳轉到有 ERROR 的行
    • 6.14 【導航技巧 07】跳轉到上/下一個方法
    • 6.15 【導航技巧 08】向左/向右切換標簽頁
    • 6.16 【導航技巧 09】快速打開檔案可用的工具列
    • 6.17 【導航技巧 10】學會跨級別跳轉代碼塊
    • 6.18 【導航技巧 11】善用 TODO 記錄待辦事項
    • 6.19 【搜索技巧08】查找最近的搜索記錄
  • 第七章:版本與管理
    • 7.1 【版本管理 01】使用 Git 進行版本管理
    • 7.2 【版本管理 02】三種查看檔案的修改
    • 7.3 【版本管理 03】媲美beyond compare 的差異對比功能
    • 7.4 【版本管理 04】查看檔案修改記錄:Annotate
    • 7.5 【版本管理 05】查看檔案的所有操作記錄
  • 第八章:插件與工具
    • 8.1 【插件神器 01】在 PyCharm 中使用 vim
    • 8.2 【插件神器 02】JetBrains 官方推出了漢化插件
    • 8.3 【插件神器 03】在 PyCharm 中寫 Markdown
    • 8.4 【插件神器 04】正則運算式測驗:Regex Tester
    • 8.5 【絕佳工具 01】在Windows上使用 Bash 命令
    • 8.6 【絕佳工具 02】代碼不規范?試試自動化 PEP8
    • 8.7 【絕佳工具 03】HTTP介面除錯:Test RESTful Web Service
    • 8.8 【絕佳工具 04】選擇執行:Execute Selection in Console
    • 8.9 【絕佳工具 05】一鍵進行代碼性能分析
    • 8.10 【絕佳工具 06】開啟靜態代碼分析檢查
    • 8.11 【絕佳工具 07】在 PyCharm 運行 Jupyter Notebook
    • 8.12 【插件神器 05】快捷鍵管理大師:Key Promoter X
    • 8.13 【插件神器 06】代碼滾動預覽:CodeGlance
    • 8.14 【插件神器 07】JSON美化插件:Json Parser
  • 第九章:常用的技巧
    • 9.1 【必學技巧 01】輕松實作 JSON格式化
    • 9.2 【必學技巧 02】誤刪專案?一秒找回
    • 9.3 【必學技巧 03】智能補全,忽略大小寫
    • 9.4 【必學技巧 04】以列為單位的塊編輯
    • 9.5 【必學技巧 05】閱讀原始碼的六種方法
    • 9.6 【必學技巧 06】快速重構,修改所有函式與變數
    • 9.7 【必學技巧 07】tab和空格混用自動轉換
    • 9.8 【必學技巧 08】脫離滑鼠的代碼區域選擇:Extend Selection
    • 9.9 【必學技巧 09】從可視化 Python 包管理器
    • 9.10 【必學技巧 10】快速移動/拷貝檔案:F6/F5
    • 9.11 【必學技巧 11】顯示類繼承關系圖:Show Diagrams
    • 9.12 【必學技巧 12】快速隱藏專案樹
    • 9.13 【必學技巧 13】把檔案設定為只讀:Read-Only
    • 9.14 【必學技巧 14】自動匯入解決依賴:Alt+Enter
    • 9.15 【必學技巧 15】在檔案管理器/Finder 中打開檔案夾的三種方法
    • 9.16 【必學技巧 16】在Terminal 中打開檔案夾

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/261774.html

標籤:其他

上一篇:【C++】演算法集錦(4):給人看的動態規劃

下一篇:6年Android開發,裸辭沖擊多家大廠收割騰訊,TCL,深信服等Offer,如何抉擇月薪35K跟996?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more