一. python代碼的調試方式
1. 使用print語句打印出來
2. 在編輯工具中,加斷點跟蹤(打斷點)
3. 使用日志模塊,輸出到日志中
下面我們來看一下如何打斷點
二. 環境
python 3.4.4 + pycharm professional edition 2018.1,注意這里盡量用新的版本,能用專業版盡量用專業版,功能更豐富
三. 調試代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
__author__ = '小翟' '''1、自動販賣機: 只接受1元、5元、10元的紙幣或硬幣,最多不超過10塊錢。 飲料只有橙汁、椰汁、礦泉水、早餐奶,售價分別是3.5,4,2,4.5。 寫一個函數用來表示販賣機的功能: 用戶投錢和選擇飲料,并通過判斷之后,給用戶吐出飲料和找零。 說明:參數有一個為金額,此金額為輸入的總金額。''' drink_price = { "橙汁" : 3.5 , "椰汁" : 4 , "礦泉水" : 2 , "早餐奶" : 4.5 } def auto_fanmaiji(money, drink_name): if money < = 10 : for drink, price in drink_price.items(): if drink_name = = drink: if money > price: print ( "請取出飲料: %s" % drink_name) print ( "應找您%3.1f元" % (money - price)) elif money = = price: print ( "請取出飲料: %s" % drink_name) else : print ( "sorry, 您的金額不足以買:%s" % drink_name) else : continue else : print ( "sorry, 本機最大金額不能超過10元,請重試!" ) auto_fanmaiji( 7.3 , "橙汁" ) |
四. 打斷點圖解
五. step over, step into和step out的區別
step over:在單步執行時,在函數內遇到子函數時不會進入子函數內單步執行,而是將子函數整個執行完再停止,也就是把子函數整個作為一步
注意:在不存在子函數的情況下step over是和step into效果一樣的
step into:單步執行,遇到子函數就進入并且繼續單步執行(即進入子函數)
step out:當單步執行到子函數內時,用step out就可以執行完子函數余下部分,并返回到上一層函數
在第14行調用devide函數時打斷點
實例1:step over的效果
實例2:step into的效果
點擊step into下一步
點擊step into下一步
點擊step into下一步
實例3:step out的效果
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/cnhkzyy/p/9242640.html