[Python学习]错误篇一:SyntaxError: invalid syntax & IndentationError: expected an indented block
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']
>>>
🐱不负韶华,只争朝夕🍚