python的缩进通常使用_python缩进格式

python的缩进通常使用_python缩进格式Python中的缩进(Indentation)决定了代码的作用域范围。这一点和传统的c/c有很大的不同(传统的c/c使用花括号花括号{}符决定作用域的范围;python使用缩进空格来表示作用域的范围,相同缩进行的代码是处于同一范围)。每行代码中开头的空格数(whitespace)用于计算该行代码的缩进级别(Indentationlevel),注意一个Tab会被替换为1~8个Space(具…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

7e6d162096b80d422bc4e7ce42e8769b.jpg

Python中的缩进(Indentation)决定了代码的作用域范围。这一点和传统的c/c 有很大的不同(传统的c/c 使用花括号花括号{}符决定作用域的范围;python使用缩进空格来表示作用域的范围,相同缩进行的代码是处于同一范围)。

每行代码中开头的空格数(whitespace)用于计算该行代码的缩进级别(Indentation level),注意一个Tab会被替换为1~8个Space(具体的空格数量,不同的编译器有不同的数量),缩进级别为0表示无缩进空格。

在一个源文件不建议同时使用空格和制表缩进符,当使用别人代码的时候几乎是不可能知道别人使用的是空格还是制表符,这时最好统一缩进,在IDEL编辑器中可以使用 Edit > Untabify Region 将任何制表符转化为空格。

Python中的每一条语句都有一个缩进级别,并且缩进级别会使用栈的数据结构进行存储。在开始读取文件之前,0(表示缩进级别为0,无缩进)会被首先压入栈中。然后从文件开头到末尾,依次读取每行逻辑代码,每行逻辑代码的缩进级别都会和栈顶值进行比较,如果相等,那么什么都不会发生;如果比栈顶值大的话,那么该行逻辑代码的缩进级别就会被压入栈中,同时会生成一个缩进标记(INDENT TOKEN);如果比栈顶值小的话,那么栈中所有比该行逻辑代码缩进级别大的值都会从栈中移除,并且还会生成一个扩展标记(DEDENT TOKEN)。

下面是一个正确的缩进案例:def perm(l):#0

# Compute the list of all permutations of l

if len(l) <= 1:# 1

return [l]# 2

r = []# 3

for i in range(len(l)):# 4

s = l[:i] l[i 1:]# 5

p = perm(s)# 6

for x in p:# 7

r.append(l[i:i 1] x)# 8

return r# 9

下面是一个错误的案例def perm(l): #1 error: first line indented

for i in range(len(l)): #2 error: not indented

s = l[:i] l[i 1:]

p = perm(l[:i] l[i 1:]) #3 error: unexpected indent

for x in p:

r.append(l[i:i 1] x)#4

return r #5 error: inconsistent dedent

以上就是python缩进规则叫什么的详细内容,更多请关注jquery中文网其它相关文章!

本文原创发布jQuery中文网,转载请注明出处,感谢您的尊重!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183452.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • POSIT算法的原理–opencv 3D姿态估计[通俗易懂]

    POSIT算法的原理–opencv 3D姿态估计[通俗易懂]3D姿态估计-POSIT算法 POSIT算法,PosefromOrthographyandScalingwithIterations, 比例正交投影迭代变换算法:用于估计物体的3D姿态(相对于镜头的平移和旋转量)。算法正常工作的前提是物体在Z轴方向的“厚度”远小于其在Z轴方向的平均深度,比如距离镜头10米远的一张椅子。 算法流程:假设待求的姿态,包括旋转矩阵R和

    2025年8月12日
    2
  • JAVA之文件操作[通俗易懂]

    JAVA之文件操作[通俗易懂]Console此类包含多个方法,可访问与当前Java虚拟机关联的基于字符的控制台设备(如果有)。虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式。如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示。如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台。如果此虚拟机具

    2025年7月17日
    3
  • 学习CURL扩展功能的使用(一)「建议收藏」

    学习CURL扩展功能的使用(一)「建议收藏」其实CURL这个扩展本来也不打算写得,毕竟这个也是大家最常用的功能之一的。不过既然是在刷文档,学习到了就分享出来吧,不要陷入“知识的诅咒”。本身自己的知识体系就不完整,说不定也有很多小伙伴和我一样

    2022年7月2日
    23
  • 电气设计心得体会_原理图设计规范

    电气设计心得体会_原理图设计规范本博客将简述中兴通讯股份有限公司在原理图设计中需要注意的一些事项,其中包含了中兴设计开发部积累的大量硬件开发知识和经验,可以作为学习使用。硬件工程师可以学习并掌握检查条目的内容以及对条目的详细说明,学习部门经验。

    2025年9月18日
    5
  • 兼容addEventListener事件

    兼容addEventListener事件window.onload=function(){ varp=document.getElementById("content"); if(document.addEventListener) p.addEventListener("click",function(){ alert("p点击了"); },false); else p.attachEvent(…

    2025年8月11日
    3
  • sdfsdfsd_dsd cd

    sdfsdfsd_dsd cd1)—为DataSnap系统服务程序添加描述这几天一直在研究Delphi2010的DataSnap,感觉功能真是很强大,现在足有理由证明Delphi7该下岗了。DataSnap有三种服务模式,其中ServiceApplication方式建立的windows服务没有描述,描述部分是空的,感觉总是欠缺点什么。现找到办法添加描述:procedureTServerContainer2

    2022年10月4日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号