欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[Python学习]错误篇一

程序员文章站 2023-11-28 14:09:10
REFERENCE:《Head First Python》 ID:我的第一篇[Python学习] BIRTHDAY:2019.7.6 EXPERIENCE_SHARING:两个程序错误类型 1、错误类型: SyntaxError: invalid syntax 意思就是“语法错误:不正确的语法” 一 ......

[Python学习]错误篇一

reference:《head first python》

id:我的第一篇[python学习]

birthday:2019.7.6

experience_sharing:两个程序错误类型

 

1、错误类型:

>>> for each_item in movies:
    if isinstance(each_items,list):
    for nested_item in each_item: 
        print(nested_item)
    else:
        print(each_item)
        
syntaxerror: invalid syntax
>>> 

 syntaxerror: invalid syntax

意思就是“语法错误:不正确的语法”

一般是格式上漏掉或者多了些东西。或者字符格式不对。

(1)错误原因:

第二行的 each_items多了一个s

修改后:

>>> for each_item in movies:
    if isinstance(each_item,list):
    for nested_item in each_item:
        print(nested_item)
    else:
        print(each_item)
        
syntaxerror: invalid syntax

 (2)错误原因

第二行的冒号似乎和第三行的不一样,可能是中文状态下的冒号。修改试试:

>>> for each_item in movies:
    if isinstance(each_item,list):
    for nested_item in each_item:
        print(nested_item)
    else:
        print(each_item)
        
  file "<pyshell#18>", line 3
    for nested_item in each_item:
      ^
indentationerror: expected an indented block
>>> 

 出现新的错误类型:

indentationerror: expected an indented block

参考下方第二个错误类型的解决方法:

2、错误类型:

 

>>> for each_item in movies:
    if isinstance(each_item,list):
    for nested_item in each_item:                                                                                                                                    
print(nested_item) else: print(each_item) file "<pyshell#13>", line 3 for nested_item in each_item:
print(nested_item) ^ indentationerror: expected an indented block >>>

indentationerror: expected an indented block

说明此处需要缩进,你只要在出现错误的那一行,按空格或tab(但不能混用)键缩进就行。

一句话 有冒号的下一行往往要缩进。

 

 python语言是一款对缩进非常敏感的语言,给很多初学者带来不少困惑,即便是很有经验的python程序员,也可能陷入陷阱当中。

最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。

(参考 知乎·回答)

 

第三行缩进后:

>>> for each_item in movies:
    if isinstance(each_item,list):
          for nested_item in each_item:                                                                                                                                    print(nested_item)
    else:
        print(each_item)

        
a
b
c
1
2
3
happy
['sadness', 'sorrow', 'moved']
>>>