国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何直觀地理解程序的運行過程?

Olivia / 2845人閱讀

摘要:了解代碼的執行過程是編程的基本要求。還有種方法就是使用提供的調試功能,通過添加斷點和單步運行,了解程序的運行狀態。對于初學編程,難以理解程序運行過程的苦手來說,絕對可稱之為神器。每天共執行和演示超過段程序。

了解代碼的執行過程是編程的基本要求。一個熟練的編程老手只需要用肉眼看著代碼,就能對其運行的過程有所了解。然而對于剛接觸編程不久的新手來說,這種事情就沒那么顯而易見了。于是在編寫代碼和調試代碼時,一旦程序的邏輯有些復雜,就像掉進代碼的迷宮,完全不知道東南西北。

所以,每當有人對自己的代碼沒有給出預想結果而百思不得其解,無奈尋求幫助時,我都會建議在程序中增加輸出,一方面是根據不同輸出的先后順序來判斷程序的運行路徑,另一方面則是觀察各變量在運行過程中的實際數值,確認是在哪里發生了錯誤。

還有種方法就是使用 IDE 提供的調試功能,通過添加斷點和單步運行,了解程序的運行狀態。Visual Studio、Eclipse、xCode 等常見的 IDE 幾乎都提供了調試工具。對于 Python,也可以使用 pdb 庫來實現斷點調試。

上述兩種途徑應該是大部分程序員 debug 時候的基本套路。但同樣的,對于新手來說,即使這樣的工具,用起來仍然有些費力。

有時我會選擇在紙上畫出一些流程和圖形來向人解釋程序,雖然效果會好些,但顯然不是一種可以廣泛推廣的方式。后來意外發現有一款工具滿足了此類需求,非常適合新手,可以讓你直觀地“看”出程序是怎么運行的。對于初學編程,難以理解程序運行過程的苦手來說,絕對可稱之為“神器”。

這就是 Online Python Tutor 。一款免費的在線代碼運行及演示工具。

項目地址:pythontutor.com

關于此項目的介紹(摘自網絡,出處未知):

Online Python Tutor 是由 Philip Guo 開發的一個免費教育工具,可幫助學生攻克編程學習中的基礎障礙,理解每一行源代碼在程序執行時在計算機中的過程。通過這個工具,教師或學生可以直接在 Web 瀏覽器中編寫 Python 代碼,并一步一步可視化地執行程序。

截至 2013 年 12 月,來自 165 個國家和地區共 50 萬多人使用了這個在線工具,通常是用作教材、講義或在線編程指南的補充。每天共執行和演示超過 6,000 段 Python 程序。除了自學的初學者,Online Python Tutor 的用戶還包括了那些參加 Coursera、edX 和 Udacity 等在線課程的學生,還有諸如 MIT、UC 伯克利等高校的教師。

Python Tutor 支持 2.7 和 3.3 兩個版本的 Python。

除了 Python 外,還可運行 Java、JavaScript、TypeScript、Ruby,另外也有支持 C、C++ 的版本。

可以通過一行 JS 代碼,把此工具嵌入到你自己的頁面中。

也可以生成鏈接,把你的代碼直接分享給別人。

附帶單元測試功能。

網站上還提供了很多的實例,其中包括一些比較經典的算法。

再來體驗一下其使用過程:

在編輯器里輸入代碼,點擊 “Visualize Execution” 即可運行并演示。


import random

def fn(x):
    return x**2

result = []
for i in range(3):
    t = random.randint(1, 10)
    print t
    r = fn(t)
    result.append(r)
print result

我用了段包含循環、列表、函數、模塊的代碼片段??纯葱Ч绾危?/p>

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44840.html

相關文章

  • 白話Java I/O模型

    摘要:因為所有的數據從最底層講是字節,那么就可以使用字節流這個概念去指代數據動態轉移這個過程。而數據的轉移,就是把一堆字節流從運往。創建內存中的中轉區域,然后將上面的文件的字節流直接接入到這個。然后再從把字節流輸出到對應的。 I/O的很多操作和使用,其實并不是一個非常直觀的概念,特別是打開文件、創建buffer。這對于終端用戶來講是個非常奇葩和奇怪的過程。我只是想要從一個文件里讀取內容,從過...

    VincentFF 評論0 收藏0
  • 弄懂JavaScript作用域和閉包

    摘要:關于本書,我會寫好幾篇讀書筆記用以記錄那些讓我恍然大悟的瞬間,本文是第一篇弄懂的作用域和閉包。作用域也可以看做是一套依據名稱查找變量的規則。聲明實際上是根據你傳遞給它的對象憑空創建了一個全新的詞法作用域。 《你不知道的JavaScript》真的是一本好書,閱讀這本書,我有多次哦,原來是這樣的感覺,以前自以為理解了(其實并非真的理解)的概念,這一次真的理解得更加透徹了。關于本書,我會寫好...

    everfly 評論0 收藏0
  • JavaScript 程序員可以從C++中學到什么

    摘要:特別是所謂的不需要的引用可能會導致內存泄漏,這意味著程序占用的內存比實際需要的多,從而降低了內存的效率。但是如果我們能夠意識到內存泄漏的風險,就可以采取措施將其刪除。意外的使用全局變量是導致內存泄漏的一個常見原因。 作者:Bret Cameron翻譯:瘋狂的技術宅原文:https://medium.com/@bretcamer... 本文首發微信公眾號:前端先鋒歡迎關注,每天都給你...

    不知名網友 評論0 收藏0
  • 如何成為一個優秀程序

    摘要:我開始去關注一個問題的最終目的是什么,得益于喬治波利亞的書如何解決這個問題。在此基礎上,我也會制定了計劃,這也是喬治波利亞的另一個建議。明白為什么讓我對前后關系理解更深刻,幫助我成為一個見多識廣的程序員。 showImg(https://segmentfault.com/img/bVbvMKu); 原文鏈接: https://medium.com/free-code-camp... ...

    wuyangchun 評論0 收藏0

發表評論

0條評論

Olivia

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<