精华内容
下载资源
问答
  • 换行缩进几个空格有什么标准吗?还有就是在写stylus时,sublime有时换行缩进2个,有时是4个,如果我手动调到2个空格stylus的解析器就报错,向这样不会报错,如果我强制把4个空格换成2个空格就会报错,不知道是什么...

    我使用的是sublime编辑器,html,css ,js代码换行都是缩进4个空格,

    但是其他同事都是2个空格缩进(webstrom编辑器),这样有什么问题吗?

    换行缩进几个空格有什么标准吗?

    还有就是在写stylus时,sublime有时换行缩进2个,有时是4个,如果我手动调到2个空格

    stylus的解析器就报错,

    bVJBA3?w=430&h=232

    向这样不会报错,如果我强制把4个空格换成2个空格就会报错,不知道是什么情况?

    javascript由于存在回调函数,对象字面量缩进比较严重,所以javascript规范是2个空格缩进,而css是4个空格缩进。

    没什么影响。缩进多少个空格只是个人口味问题。不过同一个团队内部还是保持一致比较好吧。

    你可能要看下你的 sublime 设置,因为一些编辑器会在替换的时候,把空格替换成 tab。

    另外,你可能应该保持一种缩进模式,而不是 2 spaces 与 4 spaces 混用。

    最重要的是,如果你的同事都在用 4 spaces,那你为什么要用 2 spaces? (假设你与这些同事是为同一个项目贡献代码的)。这在处理 merge 的时候,meaningless diff 不要太多

    补充:至于你提到的标准问题,至少我没见到过 Stylus 文档中对这个有要求。。一些语言,比如 Python 推荐 4 spaces,官方就给出了 PEP 8 作为 Style Guide,链接:https://www.python.org/dev/pe…

    但对于 JavaScript,HTML 和 CSS,貌似官方(W3C)都没有给出过。。如果有链接请告知

    一般都是靠团队的共同约定吧,或者找套大厂的风格指南来参考。可以都装个EditorConfig之类的插件,编辑好一份配置大家一起用就行了。

    一般是团队规定好,采用统一标准。

    如果你们团队没有制定过相关标准的话,我可以给你推荐一个标准:

    编码规范 by @mdo

    展开全文
  • 不喜欢它的人说这是一门需要卡尺的语言,因为需要使用“游标卡尺”去测量每行代码缩进。不管怎么样,Python的开发者有意让违反了缩进规则的程序不能通过编译,以此让程序员养成良好的编程习惯。并且...

    5d537a172649f887.jpg

    Python是一门很“独特”的语言!

    为什么这样说!

    因为一般的语言都是通过{}或end来作为代码块的标记,而Python则是通过缩进来识别代码块的。

    对于Python的这种“缩进”风格,喜欢它的人说这是一种乐趣;不喜欢它的人说这是一门需要卡尺的语言,因为需要使用“游标卡尺”去测量每行代码的缩进。

    不管怎么样,Python的开发者有意让违反了缩进规则的程序不能通过编译,以此让程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出,而非使用{}或者其他字符。

    今天就简单和大家介绍一下Python缩进的方法!

    Python的缩进方法

    ·使用tab键

    ·缩进几个空格(一般为4个)

    比如下面这个例子:>>> if True:

    ... print("this is true") //

    ... print("this is true") //

    ... else:

    ... print("this is false")//

    ... print("this is false")//

    输出结果:this is true

    this is true

    需要注意的是,虽然Python语法允许代码块随意缩进几个空格,但是位于同一个代码块中的所有语句必须保持相同的缩进,不能一下缩进3个空格,一下缩进4个空格。

    展开全文
  • 这两天python-cn邮件列表有一条thread发展的特别长,题目是《python的代码缩进真是坑爹》(地址),楼主在一台电脑上用KOMODO写的代码到另一台电脑上就不能运行了,调试后才发现是代码缩进的问题,为此楼主表示...

    这两天python-cn邮件列表有一条thread发展的特别长,题目是《python的代码缩进真是坑爹》(地址),楼主在一台电脑上用KOMODO写的代码到另一台电脑上就不能运行了,调试后才发现是代码缩进的问题,为此楼主表示“真是火大”!而之后的回复,可想而知,批判楼主、教育楼主、鄙视楼主等的人绝不是少数(毕竟是python邮件列表,都是python开发者、爱好者嘛)。

    要求严格的代码缩进是python语法的一大特色,就像C语言家族(C、C++、Java、C#等等)中的花括号一样重要,在大多数场合还有必要。在很多代码规范里面也都有要求代码书写按照一定的规则进行换行和代码缩进,但是这些要求只是纯粹是方便人(程序员)来阅读、使用或修改的,对于编译器或者解释器而言,完全是视而不见的。但是对Python解释器而言,每行代码前的缩进都有语法和逻辑上的意义。Python的这个特性,也经常在Python使用者和非Python使用者中引起争论。

    Python的代码缩进之起源,有人说事继承于ABC(没听过但感觉很古老的语言),有人说是避免花括号,我猜可能是python发明者一时心血来潮的决定,大概也只有他能解释这个问题。不管怎样,作为发展了十余年的一名语言,这条语法规则已经不大可能改变了。

    实际上,严格要求(强制)的代码缩进,就像一把双刃剑,有好处也有坏处。好处显而易见,在严格要求的代码缩进之下,代码非常整齐规范,赏心悦目,提高了可读性,在一定程度上也提高了可维护性。有人说,这种约束,对团队开发非常有利,当然,也不见得,这就要看强制代码缩进的坏处。Python严格的代码缩进,对于从其他语言转过来的人(现在计算机和相关专业第一门语言一般都是C/C++或Java吧,他们的语法风格基本是一直的),可能要适应一段时间。代码缩进十分严格,如果不按规律办事,不小心的话就会出现语法错误,比如unexpected indent之类的。甚至有时也会出现逻辑错误。

    在实际情况中,由于代码缩进而出现语法错误或逻辑错误,在我看来有这两种主要情况,一是混用tab和空格缩进,二是编辑器对缩进的处理各异。这里给出一个例子,代码是这样的:

    2011111114232927.png

    图中使用的Notepad++编辑器,箭头代表一个tab,点表示一个空格,默认情况下不会显示箭头和点,需要专门在视图-显示符号-显示空格和制表符 中启用这个功能。如果没有箭头和点,一般认为执行结果应该是显示a,实际是显示a、c,原因很简单,1个tab,python会认为是8个空格。如果换成其他编辑器,可能print 'c'就不会和print 'b'同列显示了。对于同一个文本,简单的修改,不同编辑器做保存,也可能导致缩进出现不同。

    我觉得为了避免因代码缩进而产生不必要的麻烦,写python代码应该,使用唯一的缩进方式(要么tab,要么空格),使用固定和统一的编辑器,此外,还应该利用好编辑器的一些特性。对于notepad++而言,除了上面所说的显示空格和制表符外,还有两个特性可以使用:一是,编辑菜单下的blank operation有两个选项tab to space和space to tab,如果对上图的那段代码做tab to space,代码列对齐基本不变,箭头都变成点,但是执行结果是a;二是,在 设置-首选项-语言下可以选上“以空格代替”,这样以后每次按tab键都会自动转换为空格。

    其他的编辑器,也有对应的一些处理技巧,比如,列表中有人提出,对VIM可以这样设置:

    set list

    set listchars=tab:\|\ ,trail:-,nbsp:_

    更多的编辑器特性,google上面应该还有很多,这里就不赘述了。

    处理好代码缩进的问题,应该算是python的基本功吧。

    展开全文
  • 这两天python-cn邮件列表有一条thread发展的特别长,题目是《python的代码缩进真是坑爹》(地址),楼主在一台电脑上用KOMODO写的代码到另一台电脑上就不能运行了,调试后才发现是代码缩进的问题,为此楼主表示...

    这两天python-cn邮件列表有一条thread发展的特别长,题目是《python的代码缩进真是坑爹》(地址),楼主在一台电脑上用KOMODO写的代码到另一台电脑上就不能运行了,调试后才发现是代码缩进的问题,为此楼主表示“真是火大”!而之后的回复,可想而知,批判楼主、教育楼主、鄙视楼主等的人绝不是少数(毕竟是python邮件列表,都是python开发者、爱好者嘛)。

    要求严格的代码缩进是python语法的一大特色,就像C语言家族(C、C++、Java、C#等等)中的花括号一样重要,在大多数场合还有必要。在很多代码规范里面也都有要求代码书写按照一定的规则进行换行和代码缩进,但是这些要求只是纯粹是方便人(程序员)来阅读、使用或修改的,对于编译器或者解释器而言,完全是视而不见的。但是对Python解释器而言,每行代码前的缩进都有语法和逻辑上的意义。Python的这个特性,也经常在Python使用者和非Python使用者中引起争论。

    Python的代码缩进之起源,有人说事继承于ABC(没听过但感觉很古老的语言),有人说是避免花括号,我猜可能是python发明者一时心血来潮的决定,大概也只有他能解释这个问题。不管怎样,作为发展了十余年的一名语言,这条语法规则已经不大可能改变了。

    实际上,严格要求(强制)的代码缩进,就像一把双刃剑,有好处也有坏处。好处显而易见,在严格要求的代码缩进之下,代码非常整齐规范,赏心悦目,提高了可读性,在一定程度上也提高了可维护性。有人说,这种约束,对团队开发非常有利,当然,也不见得,这就要看强制代码缩进的坏处。Python严格的代码缩进,对于从其他语言转过来的人(现在计算机和相关专业第一门语言一般都是C/C++或Java吧,他们的语法风格基本是一直的),可能要适应一段时间。代码缩进十分严格,如果不按规律办事,不小心的话就会出现语法错误,比如unexpected indent之类的。甚至有时也会出现逻辑错误。

    在实际情况中,由于代码缩进而出现语法错误或逻辑错误,在我看来有这两种主要情况,一是混用tab和空格缩进,二是编辑器对缩进的处理各异。这里给出一个例子,代码是这样的:

    2011111114232927.png

    图中使用的Notepad++编辑器,箭头代表一个tab,点表示一个空格,默认情况下不会显示箭头和点,需要专门在视图-显示符号-显示空格和制表符 中启用这个功能。如果没有箭头和点,一般认为执行结果应该是显示a,实际是显示a、c,原因很简单,1个tab,python会认为是8个空格。如果换成其他编辑器,可能print 'c'就不会和print 'b'同列显示了。对于同一个文本,简单的修改,不同编辑器做保存,也可能导致缩进出现不同。

    我觉得为了避免因代码缩进而产生不必要的麻烦,写python代码应该,使用唯一的缩进方式(要么tab,要么空格),使用固定和统一的编辑器,此外,还应该利用好编辑器的一些特性。对于notepad++而言,除了上面所说的显示空格和制表符外,还有两个特性可以使用:一是,编辑菜单下的blank operation有两个选项tab to space和space to tab,如果对上图的那段代码做tab to space,代码列对齐基本不变,箭头都变成点,但是执行结果是a;二是,在 设置-首选项-语言下可以选上“以空格代替”,这样以后每次按tab键都会自动转换为空格。

    其他的编辑器,也有对应的一些处理技巧,比如,列表中有人提出,对VIM可以这样设置:

    set list

    set listchars=tab:\|\ ,trail:-,nbsp:_

    更多的编辑器特性,google上面应该还有很多,这里就不赘述了。

    处理好代码缩进的问题,应该算是python的基本功吧。

    【问题】

    一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误:

    IndentationError: unindent does not match any outer indentation level

    【解决过程】

    1.对于此错误,最常见的原因是,的确没有对齐。但是我根据错误提示的行数,去代码中看了下,没啥问题啊。

    都是用TAB键,对齐好了的,没有不对齐的行数啊。

    2.以为是前面的注释的内容影响后面的语句的语法了,所以把前面的注释也删除了。

    结果还是此语法错误。

    3.后来折腾了半天,突然想到了,把当前python脚本的所有字符都显示出来看看有没有啥特殊的字符。

    当前用的文本编辑器Notepad++,好像有个设置,可以显示所有的字符的。

    找到了,在:

    视图 -> 显示符号 -> 显示空格与制表符

    9A8B8BF501A38A36!1109?filename=notepad++%20%e6%98%be%e7%a4%ba%e7%a9%ba%e6%a0%bc%e4%b8%8e%e5%88%b6%e8%a1%a8%e7%ac%a6.jpg

    然后就看出问题来了:

    原来错误的行数是1580行:

    9A8B8BF501A38A36!1110?filename=python%20error%20line[1].jpg

    但是源码的1580行的对齐用的是点点点的空格,是和前面的几行的对齐所用的箭头表示的TAB键,是不匹配的,即代码的对齐,混用了TAB键和空格:

    9A8B8BF501A38A36!1111?filename=1580%20space%20and%20tab%20mixed[1].jpg

    而新的Python语法,是不支持的代码对齐中,混用TAB和空格的。所以出现上述错误提示了。

    知道原因了,解决起来就简单了:

    去把对应的TAB,都改为空格,统一一下对齐的风格,即可。

    在Notepad++中,去:

    设置->首选项:

    9A8B8BF501A38A36!1112?filename=%e8%ae%be%e7%bd%ae%20%e9%a6%96%e9%80%89%e9%a1%b9.jpg

    语言->以空格取代(TAB键):

    9A8B8BF501A38A36!1113?filename=%e8%af%ad%e8%a8%80%20%e4%bb%a5%e7%a9%ba%e6%a0%bc%e5%8f%96%e4%bb%a3Tab.jpg

    即可实现,对于以后每次的TAB输入,都自动转换为4个空格。

    【总结】

    Python中遇到IndentationError,以后第一时间就要想到,是不是由于TAB键和空格混搭使用了。

    估计很多人也都是此类原因导致的。记得统一一下就好。

    展开全文
  • vscode如何设置代码缩进2个空格

    千次阅读 2019-12-03 10:12:09
    话不多说,看解决办法: 首先点击菜单栏中的 文件 -> 首选项 -> 设置 或 左下角齿轮状管理图标 -> 设置 然后搜索 tabsize 如下图, Detect Indentation 勾选去掉,Tab Size 改为2就可以了! ...
  • Python 对代码缩进要求非常严格,同一级别代码块的缩进量必须一样,否则解释器会报 SyntaxError 异常错误。在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示...
  • 这使得几乎不可能有不一致的缩进(我见过通常有4个空格缩进代码,但是有些部分恰好有一个空格,很难通过简单的检查判断是否有7或8个空格。。。这在tabs中是不会发生的,除非您将tabstop设置为1个空格)。Tab是缩进...
  • 不喜欢它的人说这是一门需要卡尺的语言,因为需要使用“游标卡尺”去测量每行代码缩进。不管怎么样,Python的开发者有意让违反了缩进规则的程序不能通过编译,以此让程序员养成良好的编程习惯。并且Python语言利用...
  • 遇到了一个非常让人头疼的问题:不管我在设置中和settings.json中怎么改以下两个地方,都不能解决保存自动格式化时只缩进个空格的问题。 "editor.formatOnSave": true, "editor.formatOnType": true, 问题...
  • 每行代码中开头的空格数(whitespace)用于计算该行代码缩进级别(Indentation level),注意一个Tab等于8个空格(Space),缩进级别为0表示无缩进空格。Python中的每一条语句都有一个缩进级别,并且...
  • 和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的...
  • 最近刚接触vue,发现按tab缩进代码缩进一直是2格而不是4格,检查了一下WebStorm的配置: File > Settings > Editor > Code Style > JavaScript的设置,发现Indent的键值为4: 这样配置是没有错的,于是找了下...
  • 原标题:用 3 个空格缩进代码是异端么?来源:伯乐在线 – 伯小乐http://blog.jobbole.com/96174/【导读】:对齐/缩进代码时,该用 Tab ,还是空格。这个话题,就像浏览器和操作系统之战,也是能让程序员争辩很久的...
  • Eclipse中设置代码缩进空格缩进

    万次阅读 2015-10-01 23:13:45
    Google Java编程规范中建议块缩进为2个空格,我平时喜欢用Eclipse进行Java编程,而Eclipse默认是用Tab来进行块缩进的,本文给出的方法可以更改Eclipse中代码缩进的设置
  • 首先讨论一下Tab和空格。在硅谷第三季中,Richard因为用Tab还是空格的问题和本来情投意合的女孩吵架,甚至于决裂。...这也就是说,当我们按下一个Tab的时候,即使它看起来就是8个空格(或者4个空格,不...
  • vim中设置python代码缩进为4个空格

    千次阅读 2015-01-15 16:20:27
    很苦恼python这个东西是严格缩进的,但是我在linux下用vim下的py,默认tab是8个空格那么长(其实还是一个tab,用set tabstop=4只是把缩进量给改了,还是一个tab,拿到win下依然不正常。:set softtabstop=4也是照旧,...
  • 缩进Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。先看C语言的表达方式(注意,这是C,不是Python!)if ( i > 0 ){x = 1;y = ...
  • webstorm vue 向内缩进4个空格

    千次阅读 2020-03-23 15:12:10
    创建一个vue新工程后,在webstorm等ide里面打开项目,发现每行的缩进是2个空格,但是个人觉得看着整体页面实在怪怪的,强迫性的希望能向内缩进4个空格。 首先想到的就是设置webstorm的CodeStyle配置: File > ...
  • linux环境tab键缩进4个空格

    万次阅读 2016-12-08 10:51:22
    linux环境下tab键自动缩进4个空格 网上找了好几个教程,都跟我的不一样,也不知道是不是写的不对。下面我将亲身试验过的,可以用的方法写下来,供大家参考。如果不能用,再看看其他帖子。 进入 root 模式 su ...
  • 缩进Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。...之后的:(冒号), 还有就是x = 1 和 y =2前面有四个空格缩进...
  • 前面的《Python if else》一节展示了选择结构的三种基本形式,并给出了实例演示,但是大家...另外,同一个代码块的缩进量要相同,缩进量不同的不属于同一个代码块。不要忘记缩进if、elif 和 else 后面的代码块一定要...
  • 1.点击 window->preference-,选择 General->Editors->Text Editors,勾选右侧的“insert space for tabs”,保存; 2.点击 window->preference-,选择 java->code style ->formatter;...
  • C++代码缩进

    2020-10-25 00:06:56
    C++种常见代码缩进风格&样式 foreword 使用 Tab 做缩进 或者使用空格 但尽量统一 只适用一种方式 通常我设置 一个 Tab 四个空格 但Tab 不转化为空格 不过 Google 的规范是: 只使用空格 一次两个空格 不用...
  • Markus..112其他人都使用4个空格.这是使用我遇到并接受的4个空格的唯一原因.在我的心里,我仍然想要使用制表符(每个缩进1个缩进字符,有意义,没有?与其他空格分开缩进.我不关心制表符可以显示为不同的宽度,这没有语法...
  • Python代码缩进也Python语言一大特点, 不像java、C 等开发语言需要通过对应的{} 来进行代码分割,python 是采用缩进的方式来进行分割,稍有缩进错误python代码在执行的过程中就会报错。python采用空格缩进的方式,...
  • 这个问题一直是个有争议我问题,好像偏向于用空格的比较多,下面比较一下优缺点 对于代码尺寸,今天做了一个简单的统计,如下表,分别列出了几个源码文件使用空格与TAB键时的大小,看来空格还是远远大于TAB键,使...
  • 和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的...
  • #-*- cording :utf-8 -*-#print absolute value of an integera= 40b= 1if a >=50:printaelse:print b以#开头的语句是注释,注释是给人看的,可以是任意...好处是强迫你写出格式化的代码,但没有规定缩进几个空格...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,353
精华内容 15,741
关键字:

代码缩进几个空格