python中tab键是什么意思,空格,代码,按下,尺寸,编辑器

python中tab键是什么意思

易采站长站,站长之家为您整理了python中tab键是什么意思的相关内容。

对于程序员来说,其实Tab和空格远远不只是“立场”问题那么简单。

在不同的编辑器里tab的长度可能不一致,所以在一个编辑器里用tab设置缩进后,在其它编辑器里看可能缩进就乱了。空格不会出现这个问题,因为空格就占一个字符的位置。

众所周知,Tab在ASCII码中,编码是9,而空格是32。这也就是说,当我们按下一个Tab的时候,即使它看起来就是8个空格(或者4个空格,不同的环境下,Tab可能显示的效果不同),对于电脑来说,却是完全不一样的东西。这也意味着,对于用字符来描述过程的代码来说,极有可能会是决定性的差异。

尤其是对于一门用空格缩进来区分代码层次的语言——Python。

我们来看一段代码。class MyForm(Form): value1 = StringField('value1') value2 = StringField('value2') value3 = StringField('value3') #这行用的是Tab缩进 submit = SubmitField('Submit') learn python = 'QQ group:725479218'

看起来这个value3变量和其他的变量没有什么不同,然而却出现了这样的报错——缩进错误。value3 = StringField('value3')IndentationError: unexpected indent

其实Python并没有强制要求你用Tab缩进或者用空格缩进,甚至空格按几个都没有强制要求,但是却绝对!绝对不能混用Tab和空格,那么这里,是不是空格和Tab的区别就显得很大了呢?

这个时候有的童鞋就要说了,我用PyCharm(或者其他IDE)怎么从来都没有出现这样的问题呢?

其实,很多IDE对Tab键做了各种各样的优化,其中有一条就是,将Tab键展开为为空格,也就是说,当你按下Tab的时候,IDE实际上帮你把一个「9」转换成了四个(或者八个)「32」。但是要注意,不是所有的IDE都帮你做了这样的工作!同理,对于好纯洁好不做作的编辑器Vim来说,肯定也不会帮你做这样的工作了。

既然Tab在不同的环境下展现不一样,而空格却永远都是一样的。对于一些细致排版缩进来说(比如说想把每一行的注释都对齐),用空格也更加精确。这样看起来,确实是用空格来写代码要好于用Tab呢。

空格代替Tab的好处:

空格在各种情况下代码都是你想要的样子。而 tab 仅仅当你与代码作者的 tab 尺寸设定为相同时,代码才好看。修改 tab 尺寸并不能解决这个问题,因为你很难做到每打开一个文件就修改一次 tab 尺寸,而每个人通常有不同的习惯(POSIX/Unix 标准的 tab 应当为 8 字符宽度,Linus 大神也规定 Linux 内核中所有代码的 tab 尺寸为 8)。如果存在行尾注释,则 tab 尺寸更加是必须设定为与作者相同,这就意味着你看不同的代码需要经常修改 tab 尺寸。我看过许多代码,其使用的 tab 尺寸有从 2,3,4,5,6,8,16 甚至 32 的,如果你使用的 tab 尺寸与作者不同,外观将很不理想。

靠谱的IDE都能解决前进后退增加减少缩进的问题,即便是四个空格,一个退格键也能全退了,所以在使用的方便性方面根本不存在问题。——如果抱怨删除调整还不能有效解决的,你需要研究一下你的编辑器了。实际上增加减少缩进在主流编辑器中都直接有快捷键,无论是 tab 还是空格还是退格都很少直接被用于缩进。

tab 是制表符而不是缩进符,正如在 html 页面中大量使用

一般情况下,团队开发都要制定一套编码规范, 在大部分团队中,使用4个空格代替Tab是大家默认的。所以非常建议大家使用空格代替Tab, 另外各个IDE(编辑器)都提供了tab自动转换空格的功能,只要大家设置一下,按下tab键就可以出现4个或者多个空格。

内容扩展:

Python_Tab键的使用

1. 在shell中输入表达式时,只要按下Tab键,当前命名空间中任何与已输入的字符串相匹配的变量(对象,函数等)就会被找出来:In[1]: an_orange = 27In[2]: an_pear = 15In[3]: an(按)anorange an_pear and any

2.在任何对象后面输入一个句点以便自动完成方法和属性的输入:In[1]: a = [1,2,3]In[2]: a.a.append a.extend a.remove a.sorta.count a.index a.pop a.reserve

3.应用在模块上:In[1]: import pandasIn[2]: pandas.pandas.cut pandas.core pandas.concat

4.当输入任何看上去像是文件路径的东西时(即使是在一个Python字符串中),按下Tab键即可找出电脑文件系统中与之匹配的东西。

5.Tab键自动完成功能可用于函数关键字参数。以上就是关于对python中tab键是什么意思的详细介绍。欢迎大家对python中tab键是什么意思内容提出宝贵意见

tab键在python中的作用_python中tab键是什么意思相关推荐

  1. python中括号的作用_python中中括号

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在python语言中最常见的括号有三种,分别是:小括号().中括号:代表list ...

  2. python 闭包的作用_python中对闭包的理解

    运行环境声明:本人的代码在sublime text 3中写的,可以Ctrl+b运行.python版本是python3.6.如果您直接运行的,请自觉加入if __name__ == '__main__' ...

  3. python斜杠作用_Python中正反斜杠(‘/’和‘\’)的意义与用法

    刚刚在学习些测试报告的时候,出现一个路径的问题,找了很久的原因,竟然是少了一个反斜杠引起的,在此顺便记录一下正反斜杠的作用. 在Python中,记录路径时有以下几种写法,如:(大家都知道\n是换行的意 ...

  4. python异常处理的作用_Python 中的异常处理方式

    封面图片来源:沙沙野 异常处理什么是异常处理?Python 解释器检测到错误就会触发异常,或者程序员自己触发异常 程序中编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) ...

  5. python字典在编程中的作用_python中的字典操作及字典函数

    字典 dict_fruit = {'apple':'苹果','banana':'香蕉','cherry':'樱桃','avocado':'牛油果','watermelon':'西瓜'} 字典的操作 # ...

  6. python变量的作用_Python中的变量

    Python中的变量是用来表示一个值的标识符.变量代表了计算机内存中的一个地址.变量允许在程序中访问其他对象,调用函数或执行其他运算. 1.变量命名规则 变量是Python中的标识符,它应该遵循标识符 ...

  7. python signal模块作用_Python中的signal模块和Ctrl+C操作

    Python中的signal模块处理OS级别的信号.例如Ctrl+C会进程发送信号. Linux上查看信号的方法: [appadmin@BJLTPGPLM1007T ~]$ kill -l 1) SI ...

  8. python pyc文件作用_Python中pyc文件的用途

    什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的 ...

  9. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  10. python中定义数据结构_Python中的数据结构—简介

    python中定义数据结构 You have multiples algorithms, the steps of which require fetching the smallest value ...

最新文章

  1. 2.9 什么是端到端的深度学习-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  2. .net core2.0下使用Identity改用dapper存储数据
  3. 通过对象指针的方式强行指定到子类_C++中的虚指针与虚函数表
  4. linux 查看neihe版本_linux查看系统内核版本号
  5. 网友的VOIP总结 1
  6. 《设计模式详解》行为型模式 - 中介者模式
  7. 按值设置选择选项“已选择”
  8. 基于Docker部署Gitlab教程
  9. Python的numpy,1.15.0和1.14.5,函数结果可能存在差异
  10. paip.输入法英文词库的处理 python 代码 o4
  11. ITIL4 讲解:监控管理
  12. ROS主从机通信经验总结
  13. 前端谷歌浏览器显示海康rtsp视频
  14. BSC链节点搭建 保姆级详细教程
  15. C -CPT-SS-PDI 喜树碱-双硫键-聚苝酰亚胺/PEI-g–PLO 聚乙烯亚胺-聚L-鸟氨酸
  16. Linux下实现双机互信
  17. dns服务器修复视频,修复dns异常最为简单的方法,一起学习吧
  18. Android 小工具--圆形图片
  19. 使用shell比较两个文本的差异
  20. 按钮(click button)

热门文章

  1. 分享 45 个让你提升工作效率的前端工具
  2. 革命性的超级WiFi - 电视白空间解释说
  3. linux wifi驱动分析,Android Wifi驱动--底层
  4. 颠覆式创新看世界,读《第二曲线创新》有感
  5. Hello World with Ant
  6. 利用循环打印正方形和长方形
  7. 无刷电机FOC控制笔记
  8. android开发 解析 b5,Android iconify 使用详解
  9. mysql数据库两表关联,【mysql两表关联查所有数据】
  10. Dvr的工作原理及入门分析