网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- 断点调试(Debugging with breakpoints):
使用调试器在代码中设置断点,可以暂停程序的执行并逐行查看代码的状态和变量的值。
def add(a, b):` `result = a + b` `breakpoint() # 在此处设置断点` `return result`` ``x = 2``y = 3``z = add(x, y)``print(z)
- 使用print语句进行调试:
def multiply(a, b):` `print(f"Multiplying {a} and {b}")` `result = a * b` `print(f"Result: {result}")` `return result`` ``x = 2``y = 3``z = multiply(x, y)``print(z)
- 使用日志记录进行调试:
import logging`` ``logging.basicConfig(level=logging.DEBUG)`` ``def divide(a, b):` `logging.debug(f"Dividing {a} by {b}")` `result = a / b` `logging.debug(f"Result: {result}")` `return result`` ``x = 6``y = 2``z = divide(x, y)``print(z)
- 使用assert语句进行断言调试:
def divide(a, b):` `assert b != 0, "Divisor cannot be zero"` `result = a / b` `return result`` ``x = 6``y = 0``z = divide(x, y)``print(z)
- 使用pdb模块进行交互式调试:
import pdb`` ``def subtract(a, b):` `result = a - b` `pdb.set_trace() # 进入交互式调试模式` `return result`` ``x = 5``y = 3``z = subtract(x, y)``print(z)
- 使用traceback模块进行异常追踪:
import traceback`` ``def divide(a, b):` `try:` `result = a / b` `return result` `except Exception as e:` `traceback.print_exc() # 打印异常追踪信息``x = 6``y = 0``z = divide(x, y)``print(z)
- 使用cProfile进行性能分析:
import cProfile`` ``def factorial(n):` `if n == 0:` `return 1` `else:` `return n * factorial(n - 1)`` ``cProfile.run("factorial(5)")
- 使用timeit模块进行代码计时:
import timeit`` ``def fibonacci(n):` `if n <= 1:` `return n` `return fibonacci(n-1) + fibonacci(n-2)`` ``execution_time = timeit.timeit("fibonacci(10)", setup="from __main__ import fibonacci", number=1)``print(f"Execution time: {execution_time} seconds")
- 使用memory_profiler进行内存分析:
from memory_profiler import profile`` ``@profile``def fibonacci(n):` `if n <= 1:` `return n` `return fibonacci(n-1) + fibonacci(n-2)`` ``fibonacci(10)
- 使用pdbpp进行高级交互式调试:
import pdbpp`` ``def multiply(a, b):` `result = a * b` `pdbpp.set_trace() # 进入高级交互式调试模式` `return result`` ``x = 2``y = 3``z = multiply(x, y)``print(z)
这些调试工具和技巧可以帮助我们更好地理解和调试Python代码。无论是断点调试、日志记录、性能分析,还是异常追踪和代码计时,它们都能提供有价值的信息。
`黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!