• Pycharm如何打断点


    一. 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

  • 相关阅读:
    mysql general log使用介绍
    是否可以根据GTID 选出日志最新的实例
    python踩坑现场,看起来一样的两个字符串,却不相等
    sql case when的使用
    golang 匿名结构体成员,具名结构体成员,继承,组合
    golang go-sql-driver/mysql基本原理
    raft协议中的日志安全性
    go get 安装 go.etcd.io etcd clientv3 报错
    ZGC
    发现jdk9之后,AQS代码有啥变化了吗
  • 原文地址:https://www.cnblogs.com/my_captain/p/9242640.html
Copyright © 2020-2023  润新知