python新手常见的报错有哪些

4.1入参类型错误 代码:t=('a','b','c')for i in range(t):print a[i]报错:TypeError: range() integer end argument expected, got tuple.原因:range()函数期望的入参是整型(integer),但却给的入参为元组(tuple)解决方案:将入参元组t改为元组个数整型len(t)将range(t)改为...
python新手常见的报错有哪些
1.NameError变量名错误
报错:
>>> print a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
解决方案:
先要给a赋值。才能使用它。在实际编写代码过程中,报NameError错误时,查看该变量是否赋值,或者是否有大小写不一致错误,或者说不小心将变量名写错了。
注:在Python中,无需显示变量声明语句,变量在第一次被赋值时自动声明。
>>> a=1
>>> print a
1
2.IndentationError代码缩进错误
代码:
a=1
b=2
if a<b:
print a
报错:
IndentationError: expected an indented block
原因:
缩进有误,python的缩进非常严格,行首多个空格,少个空格都会报错。这是新手常犯的一个错误,由于不熟悉python编码规则。像def,class,if,for,while等代码块都需要缩进。
缩进为四个空格宽度,需要说明一点,不同的文本编辑器中制表符(tab键)代表的空格宽度不一,如果代码需要跨平台或跨编辑器读写,建议不要使用制表符。
解决方案:
a=1
b=2
if a<b:
print a
3.AttributeError对象属性错误
报错:
>>> import sys
>>> sys.Path
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Path'
原因:
sys模块没有Path属性。
解决方案:
python对大小写敏感,Path和path代表不同的变量。将Path改为path即可。
>>> sys.path
['', '/usr/lib/python2.6/site-packages']
python知识拓展:
使用dir函数查看某个模块的属性
>>> dir(sys)
['__displayhook__', '__doc__', '__egginsert', '__excepthook__', '__name__', '__package__', '__plen', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'py3kwarning', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
4.TypeError类型错误
4.1入参类型错误
代码:
t=('a','b','c')
for i in range(t):
print a[i]
报错:
TypeError: range() integer end argument expected, got tuple.
原因:
range()函数期望的入参是整型(integer),但却给的入参为元组(tuple)
解决方案:
将入参元组t改为元组个数整型len(t)
将range(t)改为range(len(t))2018-03-02
mengvlog 阅读 6 次 更新于 2025-07-20 06:23:18 我来答关注问题0
  • SyntaxError:这通常是因为代码的语法错误。例如,如果缺少冒号或者使用了不支持的语法,就会报SyntaxError。确保你的代码遵循Python的语法规则。TypeErrror:当尝试将不同类型的对象进行操作时,如将整数与字符串相加,就会出现这种错误。确保在进行操作时使用正确的类型,或使用适当的转换函数如str()。Attribute...

  • IndentationError: expected an indented block 原因:缩进有误,python的缩进非常严格,行首多个空格,少个空格都会报错。这是新手常犯的一个错误,由于不熟悉python编码规则。像def,class,if,for,while等代码块都需要缩进。缩进为四个空格宽度,需要说明一点,不同的文本编辑器中制表符(tab键)代表的...

  • 在学习Python编程的过程中,许多初学者可能会遇到一些基础问题,比如函数定义和调用时的错误。比如,代码片段中定义了一个名为factorial的函数,但实际运行时却遇到了一些麻烦。首先,我们来看一下原始代码:def factorial(n):s = n while (n > 1):s = s * (n - 1)n = n - 1 print(s)这...

  • (1)无效语法(SyntaxError: invalid syntax):这是最常见的语法错误,通常由以下几种情况引起:(2)标识符中有无效字符(SyntaxError: invalid character in identifier):在运行代码时遇到这个错误,可能是因为输入法切换中英文导致。解决方法是修改为对应的英文符号。(3)检查到不完整的字符串(SyntaxE...

  •  赤发科普屋 暑假Python初学者常犯的8个错误

    Python初学者 常犯的八个错误 90%的人都存在 的认知误区 1.真值比较 初学者经常在计语句中 使用==比较符来判断表达 式是否为真值。这是一种冗余的写法,其 实你可以直接对变量进行 检查 2.字符串连接 很多初学者教程中,他 们会告诉你字符串连接直 接使用+操作符。一种更优雅的写法是使用f- s...

檬味博客在线解答立即免费咨询

报错相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部