- Python的模块名与类名是在两个不同的名字空间中,初学者很容易将其弄混淆。比如你在交互界面输入import HTMLParser,此时你其实并没有把类HTMLParser引入到当前名字空间中。type(HTMLParser)的结果是<type 'module'>,而type(HTMLParser.HTMLParser)的结果才是
<type 'classobj'>。所以如果你想引入HTMLParser这个类,一定要写from HTMLParser import HTMLParser。否则当你在使用HTMLParser这个类时,就会提示 TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
-
在 Python 中也可以像 gcc/gdb 那样调试程序,只要在运行 Python 程序时引入 pdb 模块(假设要调试的程序名为 d.py):
$ vi d.py
#!/usr/bin/python
def main():
i, sum = 1, 0
for i in xrange(100):
sum = sum + i
print sum
if __name__ == '__main__':
main()
$ python -m pdb d.py
运行上面的命令后进入以下界面,可以输入类似 gdb 的命令来改变程序的执行流程:
$ python -m pdb 1.py
> d.py(3)()
-> def main():
(Pdb)
list 显示程序的最近代码段:
(Pdb) list
1 #!/usr/bin/python
2
3 -> def main():
4 i, sum = 1, 0
5 for i in xrange(100):
6 sum = sum + i
7 print sum
8
9 if __name__ == '__main__':
10 main()
[EOF]
next 或者 n 执行下一行代码:
(Pdb) next
> d.py(9)()
-> if __name__ == '__main__':
用 break 在第6行设置一个断点:
(Pdb) break d.py:6
Breakpoint 1 at d.py:6
(Pdb) list
1 #!/usr/bin/python
2
3 def main():
4 i, sum = 1, 0
5 -> for i in xrange(100):
6 B sum = sum + i
7 print sum
8
9 if __name__ == '__main__':
10 main()
[EOF]
如果想在函数处设置断点:
(Pdb) break d.main
d.py:3
(Pdb) list
1 #!/usr/bin/python
2
3 B def main():
4 -> i, sum = 1, 0
5 for i in xrange(100):
6 sum = sum + i
7 print sum
8
9 if __name__ == '__main__':
10 main()
[EOF]
还可以给断点加条件,比如设置条件只有当 sum > 50 的时候才 break:
(Pdb) break d.py:6, sum > 50
Breakpoint 1 at d.py:6
如果想查看某个变量的值,可以用 pp 命令打印出来:
(Pdb) step
> d.py(5)main()
-> for i in xrange(100):
(Pdb) pp sum
0
可以直接在程序里使用 pdb 模块,import pdb 后 pdb.set_trace():
#!/usr/bin/python
import pdb
def main():
i, sum = 1, 0
for i in xrange(100):
sum = sum + i
pdb.set_trace()
print sum
if __name__ == '__main__':
main()
这样只要运行程序 ./d.py 就可以直接运行到 print sum 处:
$ ./d.py
> d.py(9)main()
-> print sum
(Pdb)(转自http://www.vpsee.com/2009/09/debug-python-programwith-pdb/)
相关推荐
【CADARXC++】ObjectArx2023 C++ CAD二次开发环境配置笔记
从官网或第三方平台下载以下AUtoCAD2023、VisualStudio2019和ObjectArx2023安装时请注意安装顺序。
python中sorted
sorted(iterable, /, *, key=None, reverse=False) Return a new list containing all items from the iterable in ascending order. A custom key function can be supplied to customize the sort order...
深入Luckfox Pico的Web界面:从Angular前端到CGI后端的RV1106 IPCWeb全栈解析
本文深入解析了基于瑞芯微RV1106芯片的Luckfox Pico设备上,IPCWeb全栈解决方案的架构与部署。详细介绍了如何通过SDK编译配置,将现代Angular前端框架与高效的C++ CGI后端结合,并利用nginx和FastCGI在嵌入式环境中构建稳定、高性能的Web管理界面,为物联网设备开发提供了完整的实战参考。
讲解module.init() takes at most 2 arguments (3 given) (scrapy tutorial w/ xpath)
通过本教程,我们讲解了这个错误(带有 Scrapy 和 XPath 的教程)。我们分析了这个错误的含义,并给出了解决方案。我们还提供了一个示例代码,演示了如何使用Scrapy和XPath进行网页爬取。
【UE5_蓝图】实时音频采集与动态WAV文件保存实战指南
本文详细介绍了在UE5中使用蓝图实现实时音频采集与动态WAV文件保存的完整流程。从插件配置、录音框架搭建到动态文件名生成和音频参数优化,提供了实用技巧和常见问题解决方案,特别适合需要快速实现音频采集功能的开发者。
TEM图像处理实战指南:从基础操作到金属材料分析
本文提供了一份全面的透射电镜(TEM)图像处理实战指南,涵盖从基础操作到金属材料深度分析的全流程。重点讲解了TEM图像预处理、选区电子衍射(SAED)标定、高分辨像(HRTEM)分析及STEM图像应用等核心技能,并结合金属材料(如铝合金、钢)的析出相鉴定、位错分析和界面结构研究等实际案例,帮助研究者从原始数据中准确提取晶体结构、缺陷及成分信息。
mindspore报错: module() takes at most 2 arguments (3 given)
python 类 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。根据上面代码,想使用nn.cell作为基类定义网络,但其实际上是一个模块,所以错误。如下所示,定义一个基于基类nn.cell的网络, 实现一个简单的功能:展平输入的Tensor数据。文件中定义的python类对象,它是MindSpore中神经网络的基本构成单元。,Python的模块名与类名是在两个不同的名字空间中,初学者很容易将其弄混淆。python 模块 模块,在Python可理解为对应于一个文件。
别再被网站识别成机器人了!用Python的undetected_chromedriver+Selenium实现无痕自动化
本文详细介绍了如何利用Python的undetected_chromedriver和Selenium实现无痕自动化,突破现代网站的反爬系统。通过修正浏览器指纹、模拟人类操作行为,并结合实战案例,帮助开发者构建难以被识别的自动化脚本,适用于电商监控等场景。
Python:彻底理解并解决错误TypeError: module.__init__() takes at most 2 arguments (3 given)
文章目录问题回顾简单代码错误原因解决方法方法一方法二测试结果 问题回顾 python3在使用类继承时,遇到错误TypeError: module.init() takes at most 2 arguments (3 given) 下面贴出简单测试代码,以及解决方法 简单代码 Parent.ps class Parent: """父类""" def __init__(self): print("调用父类构造函数") Child.py import Par
Lumerical官方案例、FDTD时域有限差分法仿真学习(三)——环形谐振器(Ring resonator)之第一部分
环形谐振器教程的第 1 部分使用 MODE 来设计和仿真环形谐振器。 自由光谱范围 (FSR) 和品质因数 (Q 因数) 是这种面向片上通信应用的基于绝缘体上硅 (SOI) 波导设计的关键性能指标。
配置 Druid 数据源及密码加密-SpringBoot 实战基础
在SpringBoot中配置 Druid 数据源及密码加密的方法前文集成 MyBatis Plus,实现了一组增删改查接口。在启动服务时,从控制台中可以看出 Spring Boot 默认使用 Hikari 作为数据库连接池,Hikari性能很优秀。在国内使用较多的连接池还属阿里开源的 Druid,中文发音为德鲁伊。Druid 结合了 C3P0、DBCP 等 DB 池的优点,同时还加入了日志监控,可以很好的监控 DB 池连接和 SQL 的执行情况。...
tensorflow TypeError: where() takes at most 2 arguments(3 given) 解决办法
这个报错,是因为tensorflow版本太低引起的。 在旧版中where方法只能传递2个参数 在ubuntu系统下的解决办法 查看 tensorflow的版本: 进入python环境 python 引入tensorflow import tensorflow as tf 打印tensorflow的版本 print tf.__version__ 如果版本为0.8左右,...
ESP32学习笔记03-日志打印
日志分为5个等级。
Python学习笔记一
Python学习笔记一
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
Python暑期学习笔记一
时间:2025.7.16。
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
Python学习笔记①
Python学习笔记① 题1.用循环语句实现求和1到200. s = 0 for i in range(1, 201): s += i print(s) 输出结果: 20100 进程已结束,退出代码 0 一开始循环语句那里我写的是range(1,200),结果发现答案不对,我试了一下才发现这个区间是前闭后开的,如下面的代码所示: s = 0 for i in range(1, 11): print(i) 运行结果: 1 2 3 4 5 6 7 8 9 10 进程已结束,退出代码 0
python学习笔记一
Python学习笔记一tags: - python入门 - map, reduce, filter Python学习笔记一 >>> f = abs >>> f <built-in function abs>结论:python函数本身也可以赋值给变量,即:变量可以指向函数。如果一个函数赋给一个变量,那么这个变量可以指向函数: >>> f = abs >>> f(-1
Python学习笔记(一)
Python学习笔记(一) 写在开头 作为当下十分热门的开发语言,Python 的适用范围越来越广,我也顺着大势去学习python。 #(1)list允许用+运算符拼接两个list #代码开始 >>> lis1 = [1,2,3] >>> lis2 = [4,,5,6,7] >>> print(lis1 + lis2) 1,2,3,4...
Python学习笔记(一)
摸鱼时候发现大家现在普遍对python感兴趣,于是萌生了写这个文档的想法,希望能够帮助你加深一点对python编程语言的了解。我不生产知识,我只是一名勤劳的搬运工。本混子已经尽力搬运但文档内容有限,请配合网络资源食用。 暑假被学弟的几个问题问倒了,看来以后确实要好好学python辣,顺便采访了一下为什么想要学python,得到的答案大抵是想要学爬虫、很多人都在学不学就落伍了、python比较好入门之类的,果然越来越卷了。Python。
Python入门学习笔记一
Python学习笔记一:标准库turtle前言turtle思维导图一些实例1.六边形绘制2.风轮绘制 前言 最近在看北理工嵩天老师的视频学习python基础语法,于是准备做一些笔记和思维导图,方便后面复习和整理。 前面的没细看,准备从第一个实例turtle库开始入手,突然觉得python还是挺有趣的~~但有些还是一时难以理解,慢慢消化吧! turtle思维导图 一些实例 1.六边形绘制 import turtle turtle.pensize(5) for i in range(6): turtl
python学习笔记(一)
python学习笔记(一) 1.准备工作 首先,从官网(https://www.python.org/)上下载python3.7版本,并且使用了visual studio IDE作为编辑器。根据廖雪峰的python教程进行python的学习,并且通过博客整理和总结自己的学习心得。 2.运行方式 python程序需要通过解释器来运行。解释器包括python自带的cpython(就是在...
Python3学习笔记 ①
Python3 个人学习笔记① 初次发博,如有错误,请多指出。 Python的基本介绍 相对于机器语言,Python是一种高级语言,对于初学者来说入门比较简单,但是学习编程最重要的固定时间、实操练习是不可缺少的,所以建议大家:沉下心来,边学边练。 Python下载 登入Python官网在Download栏目下载最新版本Python。 Python编译器 自带版IDLE使用灵活性对小白来说比较有限,要想流畅编写,还是建议另外下载,个人使用的是Pycharm community版本,也是目前最热门的编译器之一,
Python——学习笔记一
1.第一个字符必须是字母表中字母或下划线 _。2.标识符的其他的部分由字母、数字和下划线组成。3.标识符对大小写敏感。
1789



被折叠的 条评论
为什么被折叠?



