class Animal():
    # 私有属性
    __age = 10
    # 构造方法
    def __init__(self, name):
        self.name = name
    def eat(self, food):
        self.food = food
如上代码,如果稍微少个缩进,整个代码就无法运行,而且有时候难以识别。我常用 IDEA 的 CTRL+SHIFT+F 进行代码格式化,少个缩进整个代码都不好了,大家有什么好的使用经验,刚接触 python 小白一个,勿喷!
|  |      1F281M6Dh8DXpD1g2      2024-06-12 15:29:50 +08:00  3 游标卡尺你值得拥有 | 
|  |      2LieEar      2024-06-12 15:30:13 +08:00 没啥好办法,所以是“面向游标卡尺编程”。有没有大佬补充 | 
|      3freshgoose      2024-06-12 15:31:34 +08:00 我们都是左手拿尺,右手打码,一边量一边打 | 
|  |      4thinszx      2024-06-12 15:36:40 +08:00  1 我写 python 写多了反而觉得好像看大括号不习惯了,我使用的习惯就是尽可能先写类和函数定义,然后再写函数内容,写完一个函数测试没问题就把它折叠起来了 不过我也确实经常遇到折腾老半天最后发现是缩进问题...语言就这样,你还能咋办呢... | 
|  |      5javak      2024-06-12 15:38:31 +08:00 多写,当你写的足够多了,你就可以一眼就看出缩进问题,就不需要游标卡尺了。 | 
|      6jianchang512      2024-06-12 15:39:05 +08:00 除非你是使用记事本的大神,否则任何一个支持 python 的编辑器都能很好的对齐,或者有辅助线 | 
|  |      7LK99      2024-06-12 15:39:27 +08:00 缩进有问题,换 IDE ! | 
|  |      8flyqie      2024-06-12 15:41:22 +08:00 via Android 所以这也是为什么现在许多语言都不这么干了。。 因为很不方便,大括号做代码段的格式化会非常方便,空格就不是那么好办了,而且大括号不会导致 tab 和空格之间的混用问题(虽然很讨厌混用) | 
|  |      9body007      2024-06-12 15:44:11 +08:00 | 
|      10customsshen      2024-06-12 15:54:40 +08:00 我个人对于代码优雅的审美观念,就是越少符号越 pythonic | 
|      11NoOneNoBody      2024-06-12 15:56:40 +08:00 报错会提醒是哪一行缩进不对的 | 
|  |      12woodfizky      2024-06-12 16:05:08 +08:00  1 你都用 Idea 了,你试试用 pycharm 呗,缩进这种基础问题 IDE 会帮你找出来报红的。 ctrl + shift + L 自动格式化 ctrl + shift + O 自动优化 imports 也可以装插件。 | 
|  |      13woodfizky      2024-06-12 16:07:57 +08:00 | 
|  |      14sucaiking      2024-06-12 16:14:18 +08:00 彩虹缩进 | 
|  |      15june4      2024-06-12 16:15:51 +08:00 @NoOneNoBody 那也不一定,除非缩进那行引起了语法错误,但大部分时候可能并没有语法错误,比如 if/while 语句这种 | 
|  |      16javazero      2024-06-12 16:18:09 +08:00 vscode 的话可以直接规范缩进,习惯之后还是很清晰的 | 
|  |      17hackyuan      2024-06-12 16:18:44 +08:00 刚接触前端时用的 pug 、stylus 也是这样,当时觉得靠缩进很酷与众不同。 后面代码量上来了,看自己的难受,看别人的根本不想看,就找几个晚上全给它改掉了,真是折磨。 | 
|  |      18lingeo      2024-06-12 16:21:55 +08:00 缩进不都是以 4 个空格为单位吗? IDE 基本帮你适配好了,一个 tab 就搞定了,你写其他代码没有养成 tab 缩进习惯吗? | 
|      19NoOneNoBody      2024-06-12 16:26:36 +08:00 @june4 #15 没有执行错误就只能靠 IDE+扩展,pyright 可以提醒,如果是逻辑错误那就没办法 其实用括号也有相似问题,我有次 js 也是遇到没有执行错误但结果不对的,查了很久就是括号定位不对——之前修改的时候删错了,但碰巧又配对了,结果两个代码块一起执行了 | 
|  |      20Sawyerhou      2024-06-12 16:29:08 +08:00 习惯了就好了,用多之后根本不会少缩进,读码也本能反应,偶尔复制粘贴会落个缩进什么的,回头扫一眼就会发现,看起来非常突兀。敲其他大括号语言也强迫症式对齐,不然浑身不舒服。 | 
|  |      21yolee599      2024-06-12 16:32:41 +08:00 | 
|  |      22fields      2024-06-12 16:33:19 +08:00 设置一下 tab 变成 4 个空格 缩进 py 特色 | 
|  |      23InkStone      2024-06-12 16:33:47 +08:00 其实写习惯了并不会有什么困扰,别嵌套太多层,没那么容易写错。 这玩意儿主要的问题还是:跟现代 IDE 协作不太好。写其它语言很多时候先复制一段代码然后 format 来自动调整,但 python 里就没法这么干 | 
|  |      24Nazz      2024-06-12 16:33:58 +08:00 换语言吧, 来学 go | 
|      25lolizeppelin      2024-06-12 16:47:03 +08:00 有啥难受的,写作文不是靠缩进分段么 一个道理,缩进层级很多说明你代码设计又问题 | 
|  |      26lisxour      2024-06-12 17:27:28 +08:00 @lolizeppelin 三四层的很正常好吧 | 
|  |      27Goooooos      2024-06-12 17:30:14 +08:00 if a: doA() doB() 被改为 if a: doA() doB() 这种情况是最难一眼看出问题的 | 
|  |      30z1645444      2024-06-12 17:57:38 +08:00 有些论坛和社交软件,发送的代码片段,不知道是发送者自己现场写懒得缩进还是复制过去文本内容被平台格式化导致丢失缩进,发文效果大致 #27 ,如果是不使用一对符号标记作用域的语言,看得难受死 | 
|      31Donahue      2024-06-12 18:12:46 +08:00 我觉得还好,每个方法尽量不要写太长就还行 | 
|      32hhhzccc      2024-06-12 18:15:00 +08:00 pycharm 会自动显示的。 | 
|      33shiquda      2024-06-12 18:15:54 +08:00 | 
|      34xgdgsc      2024-06-12 18:35:35 +08:00 在其他不用缩进的语言里调也不失为一种方法 https://github.com/JuliaPy/PythonCall.jl | 
|  |      35AV1      2024-06-13 12:54:47 +08:00 你就当格式化工具不存在吧,自己一边写代码,一边人肉自己格式化自己写的代码。 (或许这就是 python 这么设计的初衷 | 
|      36deplives      2024-06-13 14:02:47 +08:00 这个构造方法的注释有点绷不住了 | 
|      37cybort      2024-06-13 18:43:07 +08:00 via Android ide 给力的话其实差不多,比较长的 c 代码你也不可能去数括号。说白了这个更多是给编译器准备的 | 
|  |      38ClericPy      2024-06-13 23:04:12 +08:00 1. 显示空格 2. 彩虹缩进 3. 格式化工具 ruff 4. linter ,有个 linter 缩进有问题还没运行就标红了 5. 其他方案 | 
|      39wryyyyyyyyyyyy      2024-06-20 10:20:16 +08:00 写多了,ide 红线一眼就能看出来 | 
|      40mcgga      2024-06-26 15:06:00 +08:00 1. IDE 有缩进颜色的插件 2. 少一些嵌套,缩进的层级自然就少了。两三层及的缩进,完全不影响。要是七八层的,这种代码就有问题,过不了 review |