• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 自己编程中遇到的Python错误和解决方法汇总整理

自己编程中遇到的Python错误和解决方法汇总整理

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python解决数学问题,python解决问题,python错误,python错误类型,python安装错误等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析,并持续更新,方便以后查询,学习。
知识在于积累嘛!微笑
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
错误:
>>> def f(x, y): 
    print x, y 
>>> t = ('a', 'b') 
>>> f(t) 
 
Traceback (most recent call last): 
  File "<pyshell#65>", line 1, in <module> 
    f(t) 
TypeError: f() takes exactly 2 arguments (1 given) 
</div>
【错误分析】不要误以为元祖里有两个参数,将元祖传进去就可以了,实际上元祖作为一个整体只是一个参数,
实际需要两个参数,所以报错。必需再传一个参数方可.
>>> f(t, 'var2') 
('a', 'b') var2 
</div>
更常用的用法: 在前面加*,代表引用元祖
>>> f(*t) 
'a', 'b' 
</div>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
错误:
>>> def func(y=2, x): 
    return x + y 
SyntaxError: non-default argument follows default argument 
</div>
【错误分析】在C++,Python中默认参数从左往右防止,而不是相反。这可能跟参数进栈顺序有关。
>>> def func(x, y=2): 
    return x + y 
>>> func(1) 
3 
</div>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

错误:
>>> D1 = {'x':1, 'y':2} 
>>> D1['x'] 
1 
>>> D1['z'] 
 
Traceback (most recent call last): 
  File "<pyshell#185>", line 1, in <module> 
    D1['z'] 
KeyError: 'z' 
</div>
【错误分析】这是Python中字典键错误的提示,如果想让程序继续运行,可以用字典中的get方法,如果键存在,则获取该键对应的值,不存在的,返回None,也可打印提示信息.
>>> D1.get('z', 'Key Not Exist!') 
'Key Not Exist!' 
</div>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

错误:
>>> from math import sqrt 
>>> exec "sqrt = 1" 
>>> sqrt(4) 
 
Traceback (most recent call last): 
  File "<pyshell#22>", line 1, in <module> 
    sqrt(4) 
TypeError: 'int' object is not callable 
</div>
【错误分析】exec语句最有用的地方在于动态地创建代码字符串,但里面存在的潜在的风险,它会执行其他地方的字符串,在CGI中更是如此!比如例子中的sqrt = 1,从而改变了当前的命名空间,从math模块中导入的sqrt不再和函数名绑定而是成为了一个整数。要避免这种情况,可以通过增加in <scope>,其中<scope>就是起到放置代码字符串命名空间的字典。
>>> from math import sqrt 
>>> scope = {} 
>>> exec "sqrt = 1" in scope 
>>> sqrt(4) 
2.0 
</div>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
错误:
>>> seq = [1, 2, 3, 4] 
>>> sep = '+' 
>>> sep.join(seq) 
 
Traceback (most recent call last): 
  File "<pyshell#25>", line 1, in <module> 
    sep.join(seq) 
TypeError: sequence item 0: expected string, int found 
</div>

【错误分析】join是split的逆方法,是非常重要的字符串方法,但不能用来连接整数型列表,所以需要改成:
>>> seq = ['1', '2', '3', '4'] 
>>> sep = '+' 
>>> sep.join(seq) 
'1+2+3+4' 
</div>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

错误:
>>> print r'C:\Program Files\foo\bar\' 
SyntaxError: EOL while scanning string literal 
</div>
【错误分析】Python中原始字符串以r开头,里面可以放置任意原始字符,包括\,包含在字符中的\不做转义。
但是,不能放在末尾!也就是说,最后一个字符不能是\,如果真 需要的话,可以这样写:
>>> print r'C:\Program Files\foo\bar' "\\" 
C:\Program Files\foo\bar\ 
>>> print r'C:\Program Files\foo\bar' + "\\" 
C:\Program Files\foo\bar\ 
</div>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
代码:
bad = 'bad' 
 
try: 
    raise bad 

您可能想查找下面的文章:

  • Python中遇到的小问题及解决方法汇总
  • Python中遇到的小问题及解决方法汇总
  • python解决方案:WindowsError: [Error 2]
  • 自己编程中遇到的Python错误和解决方法汇总整理
  • Python转码问题的解决方法

相关文章

  • Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
  • Python文件夹与文件的操作实现代码
  • Python中的魔法方法深入理解
  • 总结Python中逻辑运算符的使用
  • Python实现查找系统盘中需要找的字符
  • Python Socket编程详细介绍
  • go和python调用其它程序并得到程序输出
  • python使用内存zipfile对象在内存中打包文件示例
  • 跟老齐学Python之玩转字符串(2)
  • Python使用scrapy抓取网站sitemap信息的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python中sys.argv参数用法实例分析
    • Python中使用PIPE操作Linux管道
    • python3实现ftp服务功能(客户端)
    • Python标准库之sqlite3使用实例
    • 使用cx_freeze把python打包exe示例
    • python获取元素在数组中索引号的方法
    • TensorFlow实现打印每一层的输出
    • 利用Python中unittest实现简单的单元测试实例详解
    • python实现计算资源图标crc值的方法
    • Python彩色化Linux的命令行终端界面的代码实例分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有