精华内容
下载资源
问答
  • 每行代码中开头的空格数(whitespace)用于计算该行代码的缩进级别(Indentation level),注意一个Tab等于8个空格(Space),缩进级别为0表示无缩进空格。Python中的每一条语句都有一个缩进级别,并且...

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

    每行代码中开头的空格数(whitespace)用于计算该行代码的缩进级别(Indentation level),注意一个Tab等于8个空格(Space),缩进级别为0表示无缩进空格。

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

    下面是一个正确的缩进案例:

    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

    上面的#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。

    下面是一个错误的案例

    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

    #1、#2和#3处的错误解释的很清楚了。#5的缩进级别在栈中找不到所以出错,#5处的缩进级别是14,比它的上面一行缩进级别18,所以在#5处应该进行出栈处理,但是在栈中找不到14这个级别,所以出错。

    又比如:

    if True:

    print("hello girl")

    else:

    print("hello boy")

    print("end")

    最后一行代码的缩进级别是1,而且比上一行代码的缩进级别小,所以应该出栈处理,但是在出站的时候找不到栈中以前有1的级别,所以报错。

    要修改的话,只需要将最后一行的空格去掉就可以。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 好处之一是强迫你写出格式化的代码,但没有规定缩进几个空格还是Tab。按照约定俗成的管理,应该始终坚持使用4个空格的缩进。 其二是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而...

    Python的语法比较简单——采用缩进方式

     

    缩进有利有弊:

    好处之一是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。按照约定俗成的管理,应该始终坚持使用4个空格的缩进。

    其二是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码。

     

    缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方。当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确。此外,IDE很难像格式化Java代码那样格式化Python代码。

     

     另外,在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空格。

     

    参考:廖雪峰老师的博客

    转载于:https://www.cnblogs.com/Cmfvacks-IsLjj/p/4982436.html

    展开全文
  • 关于 python缩进

    2021-05-27 11:23:52
    常看到一些Python缩进错误的解读,“tab符和空格做为缩进不能混用”、“缩进一定是4个空格”。实际上并没有这些限制,图中的示例就可以正常运行的。 只是空格和tab符的显示都是空白,只是长度不同。如果混用,代码...

    前言
    python 对缩进是敏感的,而大多教程对缩进规则,往往就几句话带过,对于没有其他语言基础的初学者,十分不友好,本文就把python常见的缩进问题做了一些整理。

    一、Python缩进长度及缩进字符
    常看到一些Python缩进错误的解读,“tab符和空格做为缩进不能混用”、“缩进一定是4个空格”。实际上并没有这些限制,图中的示例就可以正常运行的。

    在这里插入图片描述

    只是空格和tab符的显示都是空白,只是长度不同。如果混用,代码显示容易意混淆,增加维护及调试的困难、降低代码易读性,因此 Python PEP8 编码规范,指导使用4个空格作为缩进。而实际开发,比较复杂的代码则会选择2个空格做为缩进,这样更易于阅读,嵌套比较深的代码。

    在这里插入图片描述

    二、Python代码缩进规则
    1.物理行和逻辑行
    判断缩进,首先要区分物理行和逻辑行,缩进是针对逻辑行的。

    物理行:代码编辑器中显示的代码,每一行内容是一个物理行。

    在这里插入图片描述

    逻辑行:Python解释器对代码进行解释,一个语句是一个逻辑行。
    在这里插入图片描述

    python代码中
    1、使用";“号将两个或多个逻辑行合并成一个物理行。
    2、使用”"号连接两个物理行。
    3、字典、列表等变量赋值语句,是可以直接书写为多个物理行的。

    在这里插入图片描述

    2.缩进规则
    1、逻辑行的“首行”需要顶格,即无缩进

    在这里插入图片描述

    2、相同逻辑层保持相同的缩进

    在这里插入图片描述

    3、":"标记一个新的逻辑层, 增加缩进:进入下一个代码层,减少缩进:返回上一个代码层
    在这里插入图片描述

    三、在python IDE中,缩进的相关操作
    1、常用的IDE都会有自动缩进的机制,即输入“:”号之后,按“回车”会自动进行缩进。
    例如pycharm的代码编辑:
    在这里插入图片描述

    2、设置使用什么字符标识缩进、tab符做为缩进、一个tab代替几个空格、行连接缩进量,等等。

    好了,本文到此结束。如果对编程、计算机、程序员方面感兴趣的话,欢迎私信联系我,随时交流!点个关注,是对我莫大的鼓励!
    我们这边有一个Python交流群,里面有很多大佬解答问题,群号:821189983

    展开全文
  • 一般的语言都是通过{}或end来作为代码块的标记,而Python则是通过缩进来识别代码块的。 对于Python的这种“缩进”风格,喜欢它的人说这是一种乐趣...·缩进几个空格(一般为4个) 比如下面这个例子: >>> if True: ...
  • Python缩进问题

    2021-01-20 15:25:27
    Python缩进问题 python是一种对缩进问题...从以上种情况中,可以看出缩进每一个空格都对结果有着至关重要的影响 二、有时还容易出现 unindent does not match any outer indentation level 这种错误,其原因主要

    Python的缩进问题

    python是一种对缩进问题要求格外严格的语言。
    一、以下列举几种情况

    1. 不对print(two_for_list)进行缩进
      在第七行
      会出现
      在这里插入图片描述
    2. 对print(two_for_list)进行缩进3格

    在这里插入图片描述
    在这里插入图片描述

    1. 对print(two_for_list )缩进5格

    在这里插入图片描述
    会提示你缩进错误
    在这里插入图片描述
    从以上几种情况中,可以看出缩进每一个空格都对结果有着至关重要的影响
    二、有时还容易出现
    unindent does not match any outer indentation level
    这种错误,其原因主要是对齐的问题,要观察每行是否对齐,再遇见“:”这种符号时,一般都要空2格

    展开全文
  • UltraEdit中设置Tab键缩进改为空格

    千次阅读 2019-09-04 16:36:12
    一般来说为了更清楚看到字符空格之类的,我们在“视图”下面勾选显示的那几个项目。 高级–设置–编辑器–自动换行/制表符设置–然后勾选“用空格代替制表符”这样就不会有“>”出现,然后制表站值给...
  • [【干货】三步搞定Python代码批量缩进]...一般来说,缩进几个空格或者tab都是可以的,只要你保持一致就可以。不过为了别人阅读方便,还是用tab或者4个空格比较好。可是,程序员们用py
  • python认识(1)缩进

    2018-06-08 14:28:23
    1.1 好处是强迫你写出格式化的代码,但没有规定缩进几个空格还是Tab。按照约定俗成的管理,应该始终坚持使用4个空格的缩进。进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数...
  • Python中代码块和书写缩进的关系

    千次阅读 2018-10-13 10:23:24
    Python编程中具有相同缩进的代码被自动视为一个代码块,无论进行了几个空格缩进都是被允许的,只要缩进空格的数量统一。  较为规范的情况下一般使用采用4个空格表示一个缩进。也可以使用一个制表符表示一个...
  • python不能混用tab和空格

    千次阅读 2018-08-12 20:41:43
    其实Python并没有强制要求你用Tab缩进或者用空格缩进,甚至空格按几个都没有强制要求(但在PEP8中建议了使用4个空格作为缩进:https://www.python.org/dev/peps/pep-0008/) 但是却绝对!绝对不能混用Tab和空格 ...
  • python几个基础属性

    2019-03-19 19:09:35
    个空格=tab 以#开头的语句是注释 “大小写敏感” 一个大小写的区别代表不同的代码 Python的5种数据类型 整数 计算机都是2进制 python可以处理任何整数 二进制和十六进制 十六进制用0x前缀 Ps:0xff00,0xf 浮点数 ...
  • 在条件判断代码中的冒号:后、下一行内容的前面,会空几个格 在计算机的沟通语言中,空格的学名叫缩进,比如我们写文章都要空两个格,这就叫首行缩进 对于Python而言,冒号和缩进是一种语法。它会帮助Python区分...
  • 本次主要是为了让大家熟悉使用 python 的 IDLE 环境,掌握编写和运行 python 程序的方法。这里提供 10 计算问题和 python...*******************************************请注意:程序代码中存在缩进(即空格),...
  • Python3种语法介绍

    2019-12-09 13:54:54
    导读 Python 是一高层次的结合了解释性、编译性、互动...缩进空格数是可变的,但是同一代码块的语句必须包含相同的缩进空格数。实例如下: 实例(Python 3.0+) if True: print ("True") else: print ("...
  • 代码块与缩进

    2019-07-29 16:41:48
    Python编程中具有相同缩进的代码被自动视为一个代码块,无论进行了几个空格缩进都是被允许的,只要缩进空格的数量统一。 较为规范的情况下一般使用采用4个空格表示一个缩进。也可以使用一个制表符表示一个缩进...
  • 1.Python语法采用缩进形式(注:Python本身并没有规定缩进几个空格或Tab,但习惯上缩进4个空格)。 2.当语句以冒号“:”结尾时,缩进语句被视为代码块。 3.Python中的注释语句以“#”开头。 4.Python语句中大小...
  • python基础语法

    2018-03-11 22:59:25
    理论上缩进几个空格都可以,建议缩进是4个空格,注意是敲4个空格键而不是一个tab键。不建议采用table进行缩进,因为在linux和windows下的table定义的空格数不同,防止在不同的操作系统下同一个代码因缩进问题而影响...
  • 如果用vim开发的话,一般是在配置中把tab转成4个空格。   2、用可变对象作为默认参数 def f(a=[]): a.append('kzc') return a >>> f() ['kzc'] >>> f() ['kzc', 'kzc
  • 1、变量 >>>a=1 >>>b=a+1 >>>c=a+b >>>print "c %d"% c 2、函数 def 函数名(参数 1,参数 2,...,参数 n):  函数体(语句块) >>> def name(): #定义一个无参数的... print "qiwsir" #缩进 4 个空格 ... >>>
  • 飘逸的python - 常见的几个

    千次阅读 2013-07-10 21:40:22
    混用空格和tab ...如果用vim开发的话,一般是在配置中把tab转成4个空格。 用可变对象作为默认参数 def f(a=[]): a.append('kzc') return a >>> f() ['kzc'] >>> f() ['kzc', 'kzc'] >>> f() ['kzc',
  • 4个空格 2、Python是大小写敏感的 3、注意.py文件命名:切勿与工程所需的库文件名字冲突 4、Python的注释:#后面跟一行注释 或 ''' 多行需注释的内容''' 5、运算方面: 与Python2 略有差别 10/3 = 3.33 10//3 ...
  • Python之标识符

    2020-03-18 20:49:07
    好处是强迫你写出格式化的代码,但没有规定缩进几个空格还是Tab。 按照约定俗成的惯例,应该始终坚持使用4个空格的缩进。 · 缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成 ....
  • 1、缩进:通常我们都是用Tab制表符进行代码缩进,但是标准来说是要用4个空格进行缩进,如果代码工具可以设置按Tab自动转换为4个空格,那就设置一下吧,想想之前写的代码没有用4个空格,代码规范很重要,在需要缩进的...
  • Python操作

    2019-03-11 22:57:00
    2、缩进Python缩进有以下几个原则: 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进 同一级别的代码,缩进必须一致。官方建议缩进用4个空格 3、点击软件左上角的标志...
  • Python流程控制  Python中的流程控制主要包含两部分:条件判断和循环。 Python缩进和语法 ... Python使用缩进(空格)和冒号来表示包含的意思,但Python并没有规定使用几个缩进,目前通用的标准是使...
  • Python 基础总结

    2019-10-02 21:32:32
    没有规定缩进几个空格还是 Tab,但按照约定俗成的惯例,应该始终坚持使用4个空格的缩进 确保不混用 Tab 和空格 Python 程序是大小写敏感的 输入输出 print() input() 数据类型 整数 浮点数 对于很大或很小的...
  • 1.变量名错误(NameError) 试图访问的变量名不存在,比较常见的就是单词拼写错误。...python缩进非常严格,行首多个空格,少个空格都会报错。 4.输入法半角全角: 特别是传入中文字符串时,引号、逗号。 5...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 147
精华内容 58
关键字:

python缩进几个空格

python 订阅