首页 > 编程知识 正文

python程序中语句的缩进规则,python一般建议怎样缩进

时间:2023-05-04 19:23:02 阅读:26017 作者:2429

欢迎搜索:泉小朵,Python最快入门教程。

Python的“缩进”(Indentation )决定代码的范围。 这一点与传统的c/c大不相同。 (传统的c/c使用大括号)符号确定范围。 python使用缩进空间表示范围,同一缩进的代码在同一范围内)。

每行的“开头空格数”(whitespace )用于计算该行代码的缩进级别(Indentation level )。 1到8个空格)替换一个选项卡。 缩进级别为0,意味着没有缩进空间。

不建议在某些源文件中同时使用空格和制表符缩进。 使用别人的代码时,几乎不可能知道别人是在使用空间还是制表符。 在这种情况下,建议统一缩进。 在IDEL编辑器中,可以使用Edit Untabify Region将任何选项卡转换为空间。

Python中的每个语句都有缩进级别,缩进级别使用堆栈的数据结构存储。 在开始读取文件之前,0 (缩进级别为0,无缩进)首先被推入堆栈。 然后,从文件的开头到末尾依次读取每行的逻辑代码时,每行的逻辑代码的缩进级别与堆栈顶部值进行比较,如果相等,则什么也不会发生;如果大于堆栈的最高值,则该行的逻辑代码的缩进级别为堆栈顶部值如果小于堆栈的顶层,则会从堆栈中删除堆栈中大于该行的逻辑代码缩进级别的所有值,并生成扩展标记" DEDENT TOKEN "。

以下是正确的缩进示例。

defperm(L ) : #0# computethelistofallpermutationsofliflen (l )=1: #1return [ l ] # 2r=[ ] #3forinrange ] ) #5p=perm(s ) #6forx InP : # 7r.append (l [ I : I1] x ) # 8返回r # 9

上面的#0行缩进了0个字符。 堆栈中的数据保持不变,因为在读取文件之前,0已被推入堆栈。 #1缩进4个字符,4被推入堆栈。 #2缩进18个字符,18被推入堆栈。 #3缩进了4个字符,18被挤出堆栈,堆栈的最高值又变成了4。 #4与#3的缩进相同,因此不更新堆栈数据。 #5缩进13个字符,因此13被推入堆栈。 #5、#6与#7的缩进相同,不更新堆栈数据。 #8缩进14个字符,14被推入堆栈。 由于#9的缩进是4个字符,因此堆栈的13和14将弹出,堆栈的最高值将返回4。

接下来是错误的案例

defperm(L ) : #1error : firstlineindentedforiinrange (len (l ) ) : #2error : notindenteds=l [ 3360 I ] p=

#1、#2、#3的错误解释已经明确。 在堆栈中找不到#5的缩进级别,因此出错。 #5的缩进级别为14,更高的行的缩进级别为18,因此应该在#5中进行堆栈处理,但由于在堆栈中找不到14级别,因此出现错误。

另外,例如:

iftrue:print(hellogirl ) else : print (hello boy ) print (end ) )最后一行代码的缩进级别为1,小于上一行代码的缩进级别,因此堆栈

欢迎搜索:泉小朵,Python最快入门教程。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。