第一,交互式,通过Windows命令行工具进行交互式运行python。同时按下Windows键和R键,启动“运行”,在“运行”中输入cmd然后回车,即d出命令行工具,然后输入python回车,即出现如下界面。
第二,然后输入print('Helloworld!'),既可以敲一行代码,与python交互一次,python执行一次。
第三,通过IDEL交互式运行python。从“开始”中找到Python->IDEL,如下图。
第四,启动IDEL后,同样输入print('Helloworld!'),既可以敲一行代码,与python交互一次,python执行一次。只不过IEDL中python代码可以高亮显示。
第五,脚本式运行python,在IDEL中点击file->newfile,就会d出一个未命名(Untitled)的脚本窗口,然后输入如下代码,并按Ctrl+S保存。
t=input('请输入带有单位符号的温度(例如37C或者100F):')
ift[-1]in('f','F'):
C=(eval(t[:-1])-32)/1.8 #如果输入为华氏温度,那么转换为摄氏温度
print('转变为摄氏温度%.2fC为:'%C)
elift[-1]in('c','C'):
F=eval(t[:-1])*1.8+32 #如果输入为摄氏温度,那么转换为华氏温度
print('转变为华氏温度%.2fF为:'%F)
else:
print('输入格式有误,请输入带有单位符号的温度(例如37C或者100F):')
第六,按F5运行上一步保存的***.py脚本,就会出现如下界面,提示:请输入带有单位符号的温度(例如37C或者100F),随便输入一下就行,即通过脚本运行了python。
那么,有关运行python程序的两种方式的内容,小编就介绍到这里了。小伙伴们可以用心了解一下哦!
本篇文章使用以下硬件型号:联想小新Air15;系统版本:win10;软件版本:python3.0。
本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序源码例子
例如,有模拟税收计算的程序:
#!/usr/bin/python
def debug_demo(val):
if val <= 1600 :
print "level 1"
print 0
elif val <= 3500 :
print "level 2"
print (val - 1600) * 0.05
elif val <= 6500 :
print "level 3"
print (val - 3500) * 0.10 + (3500-1600) * 0.05
else:
print "level 4"
print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05
#~def debug_demo
if __name__ == "__main__":
debug_demo(4500)
debug_demo函数计算4500的入账所需的税收。
如何调试?
1.加入断点
在需要插入断点的地方,加入红色部分代码:如果_DEBUG值为True,则在该处开始调试(加入_DEBUG的原因是为了方便打开/关闭调试)。
#!/usr/bin/python
_DEBUG=True
def debug_demo(val):
if _DEBUG == True:
import pdb
pdb.set_trace()
if val <= 1600 :
print "level 1"
print 0
elif val <= 3500 :
print "level 2"
print (val - 1600) * 0.05
elif val <= 6500 :
print "level 3"
print (val - 3500) * 0.10 + (3500-1600) * 0.05
else:
print "level 4"
print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05
#~def debug_demo
if __name__ == "__main__":
debug_demo(4500)
2.开始运行调试
运行程序./debug_demo.py,得到
>/usr/local/qspace/user_network/debug_demo.py(7)debug_demo()
->if val <= 1600 :
(Pdb)
->val <= 1600 : 指示当前执行的语句,(Pdb)等待你的调试指令. pdb的指令很丰富,输入h指令可以查看指令的使用方法。下面简单介绍常用指令:
查看代码上下文,l(小写L)
(Pdb) l
2 _DEBUG=True
3 def debug_demo(val):
4 if _DEBUG == True:
5 import pdb
6 pdb.set_trace()
7->if val <= 1600 :
8 print "level 1"
9 print 0
10 elif val <= 3500 :
11 print "level 2"
12 print (val - 1600) * 0.05
(Pdb)
左边是行号,右边是代码正文。
监视变量:p 变量名
(Pdb) p val
4500
(Pdb)
单步执行: n
->elif val <= 3500 :
(Pdb) l
5 import pdb
6 pdb.set_trace()
7 if val <= 1600 :
8 print "level 1"
9 print 0
10->elif val <= 3500 :
11 print "level 2"
12 print (val - 1600) * 0.05
13 elif val <= 6500 :
14 print "level 3"
15 print (val - 3500) * 0.10 + (3500-1600) * 0.05
加入断点:b 行号
(Pdb) b 14
运行到断点: c
(Pdb) c
>/*****
->print "level 3"
(Pdb) l
9 print 0
10 elif val <= 3500 :
11 print "level 2"
12 print (val - 1600) * 0.05
13 elif val <= 6500 :
14 B->print "level 3"
15 print (val - 3500) * 0.10 + (3500-1600) * 0.05
16 else:
17 print "level 4"
18 print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05
19
执行到函数返回前: r
(Pdb) r
level 3
195.0
--Return--
>/****()
->None
->print (val - 3500) * 0.10 + (3500-1600) * 0.05
(Pdb)
说明:
pdb还有很多其他很多有用的指令,读者可以自行探索。输入h,h 命令。就可以得到命令的详细帮助。
不过,我个人认为一般无需启动这种调试方法,一般使用日志输出进行调试即可,除非遇到了非常微妙的错误。这时,单步调试的威力便显示出来了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)