在我拥有的源文件中有多次出现以下格式(注意def行后没有缩进):
def sendSystemParms2(self, destAddress, subid, state):
raw = sysparms_format2.build(Container(
length = 0x0D,
command = MT_APP_MSG_CMD0))
def method2(parm2):
print parm2
Run Code Online (Sandbox Code Playgroud)
它正在工作和运行.我很迷惑.任何提示?我不能上传图像,因为它是新的,没有足够的声誉,但我可以显示证据.
您有一个使用标签和空格混合的文件.
Python将选项卡扩展为八个空格,但您在编辑器中查看该文件,该编辑器使用四个空格的tabstop .
函数体使用制表符进行缩进,但这些def行使用4个空格.就像Python一样,方法体正确缩进.
如果我将文本编辑器设置为使用大小为8个空格的选项卡,然后选择要让编辑器突出显示选项卡的文本,我会看到:

线条表示标签.
这是你不应该使用选项卡缩进来的原因之一可言.在Python的风格指南建议您只使用空格缩进.在Python 3中,像这样混合制表符和空格是语法错误.
TabError通过使用-tt命令行开关运行Python,您可以告诉Python 2 为这种选项卡和空格组合提出:
-t
当源文件混合制表符和空格以进行缩进时,发出警告,使其依赖于以空格表示的制表符的价值.选项被给出两次(-tt)时发出错误.
| 归档时间: |
|
| 查看次数: |
758 次 |
| 最近记录: |