• 售前

  • 售后

热门帖子
入门百科

办理python的空格和tab肴杂而报错的标题

[复制链接]
真好210 显示全部楼层 发表于 2021-10-25 20:36:28 |阅读模式 打印 上一主题 下一主题
在python里头,空格和tab是区分开的,二者混在一起就会报错,要么只用空格,要么只用tab
如果你用的是python的官方编译器,通过以下方法可以直接将整个页面的隔断符号统一:
1. 全选整个代码(edit——select All)
2. 统一隔断符号为tab(format——tabify region),大概统一隔断符号为空格(format——untabify region)
增补:python 中缩进—— tab 还是空格是不一样的,一样平常不能混用,除非设置Tab自动更换成空格
如下所示:
      实验代码:if 10>4: print(“hello”) print(“hello”) print(“hello”)      实验一      实验二      实验三      实验四      实验五                  利用      每一行都用1个 tab 键缩进      第一行用1个 tab,第二行用 2个 tab, 第三行用1个 tab      用空格键缩进,每一行都用1个空格。      第一行用1个空格,第二行用1个空格,第三行用2个空格      混淆用tab和空格:第一行用1个tab(编辑器中设置一个tab的宽度是4个空格),第二行用1个tab,第三行用4个空格。              效果      没有报错      IndentationError: unexpected indent      没有报错      IndentationError: unexpected indent      IndentationError: unindent does not match any outer indentation level              分析      我们看一下代码的 ASCII,以确定用简直实是 tab      看一下 ASCII 码,确定确实用了差别个数的 tab      看一下 ASCII 码,确定我们用的是空格(ASCII 值是 0x20)      用空格缩进是可以的,但是要包管每行用同样个数的空格 。      看一下 ASCII 码,就知道空格和 tab 混用了。空格和tab不能混用   
实验6
混淆用tab和空格:每一行都用4个空格 + 一个tab
哦,我想起来了,贴 ASCII 码着实是麻烦,编辑器有一个显示空格和制表符的功能。咱们显示出来后贴个代码截图图。
运行效果
  1. hello
  2. hello
  3. hello
复制代码
固然可以乐成运行,但如许做就是“作”。
实验结论

做了这么多实验,终于可以得出结论了:
Python中缩进可以用空格,也可以用tab,甚至可以混用(好比每一行你先用1个tab,再用4个空格,再用2个tab,再用4个空格);
不管你怎么缩进的,你都要包管,第二行和第一行用的字符一样,第三行和第二行用的字符一样,…… ,也就是每一行用的字符一样。
最佳实践

实在 Python 并没有逼迫要求你用Tab缩进大概用空格缩进,但在 PEP8中,建议使用4个空格来缩进。
Python Enhancement Proposals index 8 —— Style Guide for Python Code
https://www.python.org/dev/peps/pep-0008/
  1. Use 4 spaces per indentation level.
复制代码
notepad++ Tab自动转换成4个空格
对于 VIM,可以如许设置
  1. set tabstop=4 "设置Tab显示的宽度为4个空格
  2. set expandtab "设置将Tab自动展开成为空格
复制代码
以上为个人履历,希望能给各人一个参考,也希望各人多多支持草根技术分享。如有错误或未思量完全的地方,望不吝见教。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作