Pycharm如何打断点的方法步骤

yipeiwu_com6年前Python基础

一. python代码的调试方式

1. 使用print语句打印出来

2. 在编辑工具中,加断点跟踪(打断点)

3. 使用日志模块,输出到日志中

下面我们来看一下如何打断点

二. 环境

python 3.4.4 + Pycharm Professional Edition 2018.1,注意这里尽量用新的版本,能用专业版尽量用专业版,功能更丰富

三. 调试代码

__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的效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python进阶之@property动态属性的实现

Python 动态属性的概念可能会被面试问到,在项目当中也非常实用,但是在一般的编程教程中不会提到,可以进修一下。 先看一个简单的例子。创建一个 Student 类,我希望通过实例来获取...

利用Django提供的ModelForm增删改数据的方法

上一篇我们写了Django基于类如何增删改数据的方法,方法虽然简单,但新手可能对其原理不是很清楚,那么我们这次就用Django提供的ModelForm方法来实现增删改数据,这是一种基于现...

跟老齐学Python之从if开始语句的征程

跟老齐学Python之从if开始语句的征程

一般编程的教材,都是要把所有的变量类型讲完,然后才讲语句。这种讲法,其实不符合学习的特点。学习,就是要循序渐进的。在这点上,我可以很吹一通了,因为我做过教师,研究教育教学,算是有一点心得...

删除目录下相同文件的python代码(逐级优化)

删除目录下相同文件的python代码(逐级优化)

这两天闲来无事在百度上淘了点图片,不多,也就几万张吧,其中有不少美女图片奥!哈哈!这里暂且不说图片是怎么获得的,咱聊聊得到图片以后发生的事。 遇到的第一个问题就是有些图片没有后缀名。在w...

在Python中使用元类的教程

type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 比方说我们要定义一个Hello的class,就写一个hello.py模块:...