VSCode在某些python代码上给了我缩进错误。我已经详尽地检查了代码,看是否是ol'混合制表符/空格问题(在代码中打开render white space
,然后将代码粘贴到NPP中,然后打开View tabs and spaces
和正则表达式搜索\t
等。事实并非如此。任何地方都没有制表符。
所以我想知道是否所有函数都必须从调用函数中缩进?
例如,此语法有什么问题吗?
from SGS_ExcelPrePythonPrep_funcs_ver0_01JD import *
def main():
#some code
myVar = func1(data)
#more code
if __name__ == '__main__':
main()
#------ separate file: SGS_ExcelPrePythonPrep_funcs_ver0_01JD.py ------
def func1(data):
#more code
newVar = func2(moredata)
nutherVar = func3(data3)
#more code
def func2(moredata):
#WAS getting an indentation error here, until I intented
#more code
def func3(data3):
#now getting the indentation error here
#more code
是否需要在func1()下面缩进func2()?一直在搜寻,但尚未找到针对此特定问题的答案。显然,我是个糟糕的Googler,因为必须很容易找到它。伸出援手?
这是我收到的错误消息:
File "w:\PyDev\SGS_ExcelPrePythonPrepAndFCode.py", line 13, in <module>
from SGS_ExcelPrePythonPrep_funcs_ver0_01JD import *
File "w:\PyDev\SGS_ExcelPrePythonPrep_funcs_ver0_01JD.py", line 198
def AlphaToIndex(ltr):
^
IndentationError: expected an indented block
modified original example pseudo-code to better represent two-file code structure
答案 0 :(得分:3)
答案 1 :(得分:0)
好吧,对于可能犯同样错误并正在寻找检查结果的未来Google员工-尽管使用了错误的数据,但Reut确实提出了解决方案。
我有一个正在编写的函数列表,所有代码都整齐地折叠起来:
func1():...
func2():...
func3():
func4():...
func5():...
我没注意到func3()
是空的-我兔子跟踪了其他内容,打算马上回来,并且在转移注意力之前未能添加pass
。
事实证明,缩进func4()
似乎并不能解决func4()
的问题-同时我缩进它,我也将其重新定位在{{ 1}}。然后问题似乎转移到func3()
上。
外卖:靠代码折叠生活的人,通过代码折叠死的。注意那些省略号!
非常感谢Joshua Avery和Reut Sharabani向我展示了我应该去的地方。