一. python代碼的調試方式
1. 使用print語句打印出來
2. 在編輯工具中,加斷點跟蹤(打斷點)
3. 使用日志模塊,輸出到日志中
下面我們來看一下如何打斷點
二. 環境
python 3.4.4 + Pycharm Professional Edition 2018.1,注意這里盡量用新的版本,能用專業版盡量用專業版,功能更豐富
三. 調試代碼
1 __author__ = '小翟' 2 3 '''1、自動販賣機: 只接受1元、5元、10元的紙幣或硬幣,最多不超過10塊錢。 4 5 飲料只有橙汁、椰汁、礦泉水、早餐奶,售價分別是3.5,4,2,4.5。 6 7 寫一個函數用來表示販賣機的功能: 用戶投錢和選擇飲料,並通過判斷之后,給用戶吐出飲料和找零。 8 9 說明:參數有一個為金額,此金額為輸入的總金額。''' 10 11 drink_price = { 12 "橙汁": 3.5, 13 "椰汁": 4, 14 "礦泉水": 2, 15 "早餐奶": 4.5 16 } 17 18 def auto_fanmaiji(money, drink_name): 19 if money <= 10: 20 for drink, price in drink_price.items(): 21 if drink_name == drink: 22 if money > price: 23 print("請取出飲料: %s" % drink_name) 24 print("應找您%3.1f元" % (money - price)) 25 elif money == price: 26 print("請取出飲料: %s" % drink_name) 27 else: 28 print("sorry, 您的金額不足以買:%s" % drink_name) 29 else: 30 continue 31 else: 32 print("sorry, 本機最大金額不能超過10元,請重試!") 33 34 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://blog.csdn.net/lanchunhui/article/details/49514297
https://blog.csdn.net/huangfei711/article/details/51220382