关于 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 金蝶java开发(金蝶中间件 开源)

    面试的是java开发岗1.首先是做一份笔试题,笔试题比较简单,主要是设计模式,sql查询,linux命令2.面试分3轮第一轮:1个面试官,总体答得还行比较全面的技术面试,包括了(1)jvm内存模型:堆栈,方法区,程序计数器,本地方法区,以及他们各种的作用(2)jvm垃圾回收算法:复制算法,标记-清除,标记-整理,以及他们使用的场景和大致的作用1)多线程:synchron…

    2022年4月15日
    166
  • 多模态机器学习综述翻译(转载)

    多模态机器学习综述翻译(转载)文章:《MultimodalMachineLearning:ASurveyandTaxonomy》多模态机器学习综述【摘要】我们对世界的体验是多模式的-我们看到物体,听到声音,感觉到纹理,闻到气味和尝到味道。模态是指某种事物发生或经历的方式,并且当研究问题包括多种这样的形式时,研究问题被描述为多模态。为了使人工智能在理解我们周围的世界方面取得进展,它需要能够一起解释这种多模信号。多模式机器学习旨在构建可以处理和关联来自多种模态信息的模型。这是一个充满活力的多学科领域,具有越来越重要的意义和非

    2022年6月21日
    52
  • SpringCloud2.0

    SpringCloud2.0

    2021年7月3日
    94
  • C语言中void代表什么意思?

    C语言中void代表什么意思?一、理解voidvoid代表空,放在返回值位置上,说明此函数执行完不返回任何值;放在参数位置上则显示说明无形式参数。二、1.放在返回值的位置上voidswap(inta,intb){intc;c=a;a=b;b=c;}该函数表示把a和b的数值进行交换即可,不需要返回值,所以用void。2.放在参数位置上#include<stdio.h>intfun(void){ return1; }int

    2022年5月19日
    65
  • 深入理解 Laravel 中 config 配置加载原理

    深入理解 Laravel 中 config 配置加载原理

    2021年11月7日
    41
  • Windows Azure AppFabric应用程序

    Windows Azure AppFabric应用程序WindowsAzureAppFabric团队在大步前进。在上个月发布服务总线队列和Topics到CTP之后,这个团队刚刚发布AppFabric应用程序到CTP。AppFabric应用程序简化了将服务组成一个应用程序的任务,但实际上,它似乎重写了平台作为服务的意义(PaaS)

    2022年10月16日
    0

发表回复

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

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