操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    前幾天給大家分享《從零學會Photoshop經典教程300集》的教程受到了廣泛的關注,有人不知道怎么領取,居然稱小編為“騙子”。

    不過小編的內心是強大的,網友虐我千百遍,我待網友如初戀,因為今天又給大家帶來了干貨,Python入門教程完整版,完整版啊!完整版!

    為了吸取教訓,小編一定要分享一下攻略,“怎樣獲得小編分享的教程呢?”,其實很簡單,只需要私信我就可以了啦,具體步驟如下。

    言歸正傳,小編該給大家介紹一下這套教程了,希望每個小伙伴都沉迷學習,無法自拔

    本套教程學習時間15天

    1-3天內容:為Linux基礎命令

    4-13天內容:為Python基礎教程14-15 天內容:為飛機大戰項目演練

    第一階段(1-3天):

    該階段首先通過介紹不同領域的三種操作系統,操作系統的發展簡史以及Linux系統的文件目錄結構讓大家對Linux系統有一個簡單的認識,同時知道為什么要學習Linux命令。然后我們會正式學習Linux命令

    1. 文件和目錄命令:ls,cd,touch,mkdir,rm

    2. 拷貝和移動命令:tree,cp,mv

    3. 文件內容命令:cat,more,grep

    4. 遠程管理命令:ifconfig,ping,SSH的工作方式簡介以及ssh命令

    5. 用戶權限及用戶管理命令:chmod,chgrp,useradd,passwd,userdel

    6. 軟件安裝及壓縮命令:apt簡介及命令,tar,gzip壓縮命令,bzip2壓縮命令

    7. vim的基本使用

    第二階段(4-10天)

    該階段我們正式進入Python這門語言的學習,首先通過了解Python語言的起源,Python語言的設計目標,Python語言的設計哲學,Python語言的優缺點和面向對象的基本概念,以及Python語言的執行方式,還有Python集成開發環境PyCharm的使用為我們接下來的學習做鋪墊。

    然后我們會學習int,string,float三種簡單的變量類型,變量間的計算,變量的輸入輸出,if判斷語句,while循環語句,for循環語句,break和continue的使用,函數的基本使用,模塊的使用,列表,元組,字典三種高級變量,字符串的常用操作。

    接下來我們會通過一個名片管理系統的案例,把這一階段的知識進行一個串聯。在學習名片管理系統時,首先我們會學習怎么去搭建這一系統的框架,然后我們會分別實現新增名片,顯示全部名片,查詢名片,刪除名片,修改名片這些功能。

    最后我們會學習語法的進階內容,全局變量,局部變量,可變數據類型和不可變數據類型以及函數返回多個值,函數的缺省參數,多值參數,遞歸的基本使用。

    第三階段(11-13天)

    該階段我們會學習面向對象(OOP)這一重要的編程思想,首先學習的知識點有類和對象的基本概念,dir函數,self的作用,初始化方法__init__,內置函數__str__,__del__,單繼承,方法重寫,私有屬性和方法,多繼承,多態,類屬性,靜態方法。

    然后我們還會學習單例模式這一設計模式,異常的捕獲,異常的拋出,from import局部導入,from import導入同名工具, from import導入所有工具,包的使用,制作模塊,pip的使用以及文件的相關操作。

    第四階段(14-15天)

    該階段是項目演練階段,我們會帶領大家通過使用之前學習過的知識開發飛機大戰這一經典游戲,項目中分別有游戲窗口,圖像繪制,游戲循環,事件監聽,精靈和精靈組以及創建敵機,創建英雄和發射子彈,碰撞檢測等模塊。

    一個好的集成開發環境(IDE)附帶的調試器是開發人員能夠擁有的最強大的工具之一,但并不是每個人都在使用一個帶有很棒代碼調試器的集成發環境(IDE)。作為程序員,在調試 Python 代碼時,你覺得最好用的調試器有哪些?如果沒有的話,不妨試試使用 IPython 作為調試器吧。

    作者 | switowski

    譯者 | 蘇本如,責編 | 屠敏

    以下為譯文:

    Tenderlove(Ruby和Rails的核心開發人員之一)寫了一篇很棒的文章,叫做“I am a puts debuggerer”(https://tenderlovemaking.com/2016/02/05/i-am-a-puts-debuggerer.html),當我還在玩Ruby的時候,我很喜歡這篇文章。這篇文章的重點是想告訴大家:在許多情況下,你不需要一個成熟的調試器。別誤會我(或者Tenderlove)的意思,我認為,一個好的集成開發環境(IDE)附帶的調試器是開發人員能夠擁有的最強大的工具之一!它能讓你可以很輕松地在代碼中放置斷點、在stack trace中移動、或者動態地檢查和修改變量。它也使開發人員在大型代碼庫上工作更加輕松,并且可以幫助新手程序員加快新項目的進度。

    然而,今天的人們仍然會使用print語句來調試他們的代碼。我總是這樣做,因為打印出一個變量既快又容易?!拔乙_始調試會話”這句話聽起來很沉重,而“我認為這個變量有問題。我想打印出來看看!”就輕松多了。下面就是我們用5分鐘就能寫出的一個print語句的例子:

    print(a_varible)

    ...

    if foo:
    print(">>>>>>>>>>>>>>Inside 3rd IF")

    ...

    print(">>>>>>>>>>>>>>Inside 37th IF")

    print(">>>>>>>>>> #@!?#!!!")

    上面的代碼看起來很熟悉吧?使用print語句進行代碼調試是毫無問題的。很多時候,你要做的只是找出Bug。有時候,這也是你能運用的調試代碼的唯一方法。因為在不影響用戶使用的前提下,你很難將調試代碼添加到生產環境代碼中。然而,僅僅添加一些print語句,然后查看日志應該不會造成什么問題。

    并不是每個人都在使用一個帶有很棒代碼調試器的集成發環境(IDE)。2019年Stack Overflow開發者調查報告顯示:30.5%的開發人員使用Notepad++,25.4%的開發人員使用Vim,23.4%的開發者使用Sublime Text。這些都是文本編輯器!盡管我看到開發人員在使用Vim時比大多數使用PyCharm或VS Code的用戶更有效率,但是要記住一個文本編輯器并不會帶有強大的代碼調試器。要調試Python代碼,你當然可以使用標準的Python調試器pdb,但是現在你有一個更好的選擇:那就是使用IPython作為調試器。

    我使用VS Code已經快兩年了,但我不記得上次使用其內置的調試器是什么時候。我大部分的調試工作都是在IPython中完成的。以下是我的調試方法:

    將IPython會話嵌入到代碼中

    對我而言,最常用的做法是在代碼中嵌入一個IPython會話。你只需要在代碼中插入以下兩行就可以做到:

    from IPython import embed
    embed

    我喜歡把這兩行代碼放在同一行,像下面這樣:

    from IPython import embed; embed

    這樣的話,我只需要敲一次鍵盤就能把它移除掉。而且,在Python中,將多個語句放在同一行是一種壞習慣,因此所有的code linter都會將這行作為一個問題標注出來,這樣的話,當調試完成后,調試就不會忘記把它移除。

    當你運行代碼并且解釋器到達帶有embed函數的行時,它將打開一個IPython會話。你可以仔細查看代碼中發生了什么。當你完成后,你只需要使用Ctrl+d關閉會話,代碼將繼續執行。這種方法的一個優點是,當你關閉IPython會話時,你在IPython中所做的所有修改都將保存下來。因此,你可以用這種方式對變量或函數進行修改(甚至可以用一些簡單的日志來修飾函數),并查看其余代碼的行為。

    下面是使用embed的簡短演示。假設我們有以下代碼:

    a=10
    b=15

    from IPython import embed; embed

    print(f"a+b={a+b}")

    下面是我們運行它時發生的情況:

    如上所見,我更改了a變量的值,當我關閉IPython會話后,a的新值保留下來了。

    在代碼中放置斷點

    如果你想查看在給定代碼行上發生的情況,在代碼中嵌入一個IPython會話是不錯的做法。但是它不能像真正的調試器那樣,讓你可以執行下一行代碼。所以更好的辦法是在代碼中放置一個斷點。從Python 版本3.7開始,有一個新的名為breakpoint的內置函數可以用來放置斷點。如果你使用的是較低版本的Python,你可以通過運行以下代碼來實現同樣的效果:

    import pdb; pdb.set_trace

    Python的默認調試器(pdb)相當初級。就像在標準Python REPL(—種交互式解釋器環境。R-read)、E-evaluate)、P-print)、L-loop)中一樣,它沒有語法突出顯示或自動縮進的功能。一個更好的選擇是ipdb。它將使用IPython作為調試器。要啟用它,需要將上面代碼中的pdb替換成ipdb:

    import ipdb; ipdb.set_trace

    還有另一個有趣的調試器PDB++。它有一組不同于ipdb的特性,例如,一個不斷顯示代碼當前位置的粘滯模式。

    不管你最終使用哪個調試器,它們都有一組相當標準的命令。你可以通過調用next命令(或者只是n命令)來執行下一行,通過調用step(或s)命令進入函數內部,使用continue(或c)命令繼續執行直至下一個斷點,使用l或ll命令顯示當前代碼執行的位置,等等。如果你是一個CLI(命令行接口)類型調試器的新手,那么“使用Pdb調試Python代碼教程”應該對你掌握它們會有幫助。

    %run -d filename.py

    IPython還有另外一種方式啟動一個調試器。你不需要像前面那樣修改任何文件的源代碼。你只需要運行%run -d filename.py這個神奇的命令,然后IPython將執行filename.py文件并在其第一行設置一個斷點。作用等同于將import ipdb; ipdb.set_trace手動放入filename.py文件中,并且使用python filename.py命令來運行它一樣。

    如果要將斷點放在第一行之外的其他位置,可以使用-b參數。以下代碼將斷點放置在第42行的位置:

    %run -d -b42 filename.py

    記住,這里指定的行必須包含實際執行某些操作的代碼。不能是空行或注釋行!

    最后,可能存在這樣一種情形:你希望將斷點放在一個不是你將要運行的文件中。比如說,某個bug可能隱藏在一個導入的模塊中,而你不想再鍵入100次next命令就可以執行到那里。-b參數可以接受一個文件名,后跟一個冒號和一個行號,以指定要將斷點確切放置到的位置,修改后的代碼如下:

    %run -d -b myotherfile.py:42 myscript.py

    上面的代碼將在名為myotherfile.py的文件的第42行設置一個斷點,然后開始執行myotherfile.py文件。一旦Python解釋器到達myotherfile.py,它將在斷點處停止。

    事后調試(Post-mortem debugging)

    IPython共有176項特性。事后調試是最好的特性,至少對我來說是這樣。假設你正在運行一個長期運行的腳本,在運行了15分鐘后,它突然崩潰了。那么,你能做的是設置一些斷點,重新運行它,然后再等待15分鐘,看看發生了什么嗎?如果你用的是IPython,只要調用一個神奇的命令%debug,你就不必等待了。%debug將加載最后一個異常發生時的stack trace,并且啟動調試器(Python將最后一個未處理的異常存儲在sys.last_traceback變量中)。這是一個很好的特性,它可以讓你直接啟動調試器,節省了幾個小時的重新運行一些命令的時間。

    如果使用的是標準pdb調試器,則可以通過運行import pdb; pdb.pm命令來實現相同的效果。

    使用%pdb自動啟動調試器

    讓調試更加方便的唯一方法是在發生異常時自動啟動調試器。IPython中的這個神奇的命令 - %pdb就能實現這一點。

    如果運行%pdb 1(或%pdb on)命令,調試器將在每個未處理的異常上自動啟動。你可以使用%pdb 0或關閉%pdb on命令關閉這個功能。不帶任何參數運行地運行%pdb將在打開和關閉自動調試器之間進行切換。

    原文:https://switowski.com/blog/ipython-debugging

    本文為 CSDN 翻譯,轉載請注明來源出處。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有