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缩进规则叫什么的详细内容,更多请关注php中文网其它相关文章!

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

python的缩进规则具体是什么_python缩进规则叫什么相关推荐

  1. python的缩进规则是什么意思_python缩进规则叫什么

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

  2. python的缩进规则是什么意思_python缩进规则有哪些?只有遵守该规则的程序才能运行...

    [摘要]Python 对代码的缩进要求非常严格,那么python缩进规则有哪些?只有遵守该规则的程序才能运行,小编建议大家可以试着理解这些内容,也许对您的python学习有帮助,毕竟实践出真知,所以你 ...

  3. python的缩进规则是什么意思_Python缩进规则精讲

    在写作文的时候,老师会告诉我们每段要空两格,这两个空格标志着一个新的段落开始了.在编写程序的时候,我们也要采用类似的方式,通过缩进来表示代码块的开始和结束. 认识缩进 在之前学过的的例子中,我们所编写 ...

  4. python默认的一个代码缩进是几个空格_python缩进长度是否统一

    Python 对代码的缩进要求非常严格,同一个级别代码块的缩进量必须一样,否则解释器会报 SyntaxError 异常错误. 在 Python 中,对于类定义.函数定义.流程控制语句.异常处理语句等, ...

  5. python中的缩进是长度统一吗_python缩进长度是否统一

    Python 对代码的缩进要求非常严格,同一个级别代码块的缩进量必须一样,否则解释器会报 SyntaxError 异常错误. 在 Python 中,对于类定义.函数定义.流程控制语句.异常处理语句等, ...

  6. python语言中缩进是强制的吗_python缩进是强制吗

    空白在Python中是重要的.事实上行首的空白是重要的.它称为缩进.在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组.这意味着同一层次的语句必须有相同的缩进.每一组这样 ...

  7. python缩进格式错误修改病句_python缩进错误,求教。

    展开全部 import random secret=random.randint(1,100) guess=0 tries=0 print("AHOY! I'm the Dread Pira ...

  8. python中下划线开头的命名_Python标识符规则 行与缩进 注释

    标识符 标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义.在计算机编程语言中,标识符(identifier)是用户编程时使用的名字,用于给变量.常量.函数. ...

  9. python的缩进规则是什么意思_Python编程思想(2):Python主要特性、命名规则与代码缩进...

    目录 那么什么是动态语言呢? 那么什么是弱类型语言和强类型语言呢? Python命名规则 缩进原则 李宁老师的<Python编程思想>上线了,囊括了Python的核心技术,以及Python ...

最新文章

  1. Scrapy框架items数据建模、翻页请求、requests对象请求、meta参数的使用
  2. go context剖析之使用技巧
  3. 重新精读《Java 编程思想》系列之向上转型与向下转型
  4. Valgrind 使用方法
  5. Flowable 数据库表结构 ACT_RE_PROCDEF
  6. 纵表、横表互转的SQL
  7. linux内核oops错误码说明,调试 – 了解内核oops错误代码
  8. 1.4 满足和优化指标
  9. Qt界面美化 QSS
  10. php中ci框架分页,Codeigniter(CI)框架分页函数及相关知识
  11. [唐诗]诗(选二首)-王梵志
  12. wireshark 分析过滤数据
  13. 向量空间的基和维数例题_向量空间基和维数的等价定义及求法
  14. 《老路用得上的商学课16—20》消费心理学(一)
  15. 同程艺龙解除合作,同程支付艺龙3000万补偿金
  16. crysis3 android,Crytek谈安卓版《孤岛危机3》:Tegra X1图形性能OK,瓶颈是CPU
  17. Python Ews exchange发送邮件demo
  18. 数字孪生技术实现和案例
  19. FreeMind:简单粗暴完成一份思维导图
  20. ORB-SLAM2从理论到代码实现(十二):Frame类

热门文章

  1. 电影《面包店的女孩+苏姗娜的故事》观后感
  2. 睿智的目标检测31——非极大抑制NMS与Soft-NMS
  3. 通过VBA将word中的表格导入到excel中
  4. xadmin的一些自定义
  5. Win10前面板插口耳机无声音,无Realtek控制器,前置耳机孔无法使用解决方案!
  6. html5如何设置字号,如何设置css中字体大小?
  7. 保险法中保险合同的常用解读
  8. 什么样的人适合学习嵌入式开发
  9. 【opencv】 使用at和ptr指针访问像素的区别
  10. RK3288刷机教程:安装Ubuntu 16.04