关于 python 的缩进「建议收藏」

关于 python 的缩进「建议收藏」python对缩进是敏感的,而大多教程对应缩进也只是几句话带过,对新手十分不友好,本文就把python常见的缩进问题做了一些整理。

大家好,又见面了,我是你们的朋友全栈君。


引言

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代替几个空格、行连接缩进量,等等。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125214.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于记忆化搜索

    关于记忆化搜索转载自:http://blog.csdn.net/urecvbnkuhbh_54245df/article/details/5847876记忆化搜索: 算法上依然是搜索的流程,但是搜索到的一些解用动态规划的那种思想和模式作一些保存。一般说来,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。更重要的是搜索还可以剪枝,可能剪去大量不必要的状态,因此在空间开销上往往比动

    2022年7月26日
  • bitr函数_函数表达式

    bitr函数_函数表达式一、BitBlt函数的作用:该函数对指定的源设备环境中的像素进行位块转换,以传送到目标设备环境。二、BitBlt函数原型:boolBitBlt(HDChdcDest,//指向目标设备环境的句柄int  nXDest,//指定目标矩形区域坐上角的X轴逻辑坐标int  nYDest,//指定目标矩形区域左上角的Y轴逻辑坐标

    2022年10月19日
  • Java中高级工程师面试题及答案,Java面试题及答案汇总(二

    Java中高级工程师面试题及答案,Java面试题及答案汇总(二需要注意Jdk1.8中对HashMap的实现做了优化,当链表中的节点数据超过八个之后,该链表会转为红黑树来提高查询效率,从原来的O(n)到O(logn)24.说一下HashSet的实现原理?HashSet底层由HashMap实现HashSet的值存放于HashMap的key上HashMap的value统一为PRESENT25.ArrayList和LinkedList的区别是什么?最明显的区别是ArrrayList底层的数据结构是数组,支持随机访问,而Linke

    2022年5月11日
  • 静态变量存储在那个区? – 转[通俗易懂]

    静态变量存储在那个区? – 转[通俗易懂]一时间忘咯然后就去转载..静态变量存储在__区A全局区B堆C栈D常量区参考答案:A知识点内存到底分几个区?1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由os回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域…

    2022年6月14日
  • dumpbin的使用方法_Dumpbin 工具的使用

    dumpbin的使用方法_Dumpbin 工具的使用sSummary1000.data1000.reloc1000.rsrc8000.textC:\>dumpbinMicrosoft(R)COFFBinaryFileDumperVersion6.00.844Copyright(C)MicrosoftCorp1992-1998.Allrightsresusage:DUMPBIN[options][fil…

    2022年6月19日
  • Maven环境配置及IntelliJ IDEA中的Maven部署

    Maven环境配置及IntelliJ IDEA中的Maven部署小编简介

    2022年5月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号