python中的缩进规则_什么叫代码缩进

python中的缩进规则_什么叫代码缩进引言python对缩进是敏感的,而大多教程对缩进规则,往往就几句话带过,对于没有其他语言基础的初学者,十分不友好,本文就把python常见的缩进问题做了一些整理。一、Python缩进长度及缩进字符常看到一些Python缩进错误的解读,“tab符和空格做为缩进不能混用”、“缩进一定是4个空格”。实际上并没有这些限制,例如图中的示例就可以正常运行。a=1ifa==1:print(a)else:print(1)k=1;whilek<5:

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

引言

python 对缩进是敏感的,而大多教程对缩进规则,往往就几句话带过,对于没有其他语言基础的初学者,十分不友好,本文就把python常见的缩进问题做了一些整理。

一、Python缩进长度及缩进字符

常看到一些Python缩进错误的解读,“tab符和空格做为缩进不能混用”“缩进一定是4个空格”。实际上并没有这些限制,例如图中的示例就可以正常运行。

a=1
if a ==1:
        print(a)
else:
        print(1)
k=1;
while k <5:
        print(k)
        k+=1

s = {"a":1,
     "b":2,
     "c":3
     }
print (s)
print('abcd\
efg')

有人讲,“tab符和空格做为缩进不能混用”有疑虑,关键还是没有理解逻辑层或代码块。

空格tab符通常都以空白形式显示。如果混用,代码容易意混淆,增加维护及调试的困难、降低了代码易读性。因此 Python PEP8 编码规范,指导使用4个空格作为缩进。而实际开发,比较复杂的代码则会选择2个空格做为缩进,这样更易于阅读那些嵌套比较深的代码。

二、Python代码缩进规则

1.物理行和逻辑行的概念

判断缩进,首先要区分物理行和逻辑行,缩进是针对逻辑行的。

物理行:代码编辑器中显示的代码,每一行内容是一个物理行。
在这里插入图片描述

逻辑行:Python解释器对代码进行解释,一个语句是一个逻辑行。
在这里插入图片描述

Python代码中:

1、使用";"号将两个或多个逻辑行合并成一个物理行。
2、使用"\"号连接两个物理行。
3、字典、列表等变量赋值语句,是可以直接书写为多个物理行的。

在这里插入图片描述

2. 缩进规则

1、逻辑行的“首行”需要顶格,即无缩进(也就是一份源码的第一个逻辑行)
代码如下(示例):

在这里插入图片描述


2、相同逻辑层保持相同的缩进
在这里插入图片描述

3、”:”标记一个新的逻辑层
增加缩进表示进入下一个代码层
减少缩进表示返回上一个代码层
在这里插入图片描述

 

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

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

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


相关推荐

  • iOS唯一标示符引导

    iOS唯一标示符引导

    2021年5月11日
    132
  • 了解匹配表

    了解匹配表

    2021年8月4日
    66
  • AnalyticDB MySQL_tidb和mysql

    AnalyticDB MySQL_tidb和mysqlDLA一键建仓上线之后陆续收到很多反馈,其中一个就是RDS的数据能不能投递到AnalyticDBforMySQL里面去,以达到极致的分析速度,最近我们实现了这一特性,今天给大家介绍一下。一键建仓首先打开DLA的解决方案页面,点击“一键建仓(AnalyticDBforMySQL)”的“进入向导”按钮进入主页面,这里因为要列出您的RDS列表方便您操作,因此需要您授予DLARDSAPI的权限…

    2025年12月14日
    5
  • MySQL基础知识:存储过程 – Stored Procedure

    MySQL基础知识:存储过程 – Stored ProcedureMySQL存储过程(StoredProcedure)主要的知识点:分隔符(delimiter)变量(variable)参数(parameters)分隔符(DELIMITER)MySQL通过

    2022年7月2日
    24
  • 网络管理员需要会什么_网络管理员好做吗

    网络管理员需要会什么_网络管理员好做吗JeffDray最近经过对IT行业的深入调查研究,通过总结和分析针对IT行业列出了一份类别名单。在这里,他定义了七类最不安全的网络管理员。如果你是一名网络管理员,并且已经意识到工作中还存在着不足,看看你属于名单中的哪一类?  大多数网络管理员对工作游刃有余,并且可以在一个具有高度挑战和技术难度的任务中,使工作顺利进行。然而,有时他们中的某些人会变得很难缠,并会阻碍事情的顺利进行。所以,我定义了

    2022年4月19日
    49
  • Rhakorz-piste 05_v2ray官网

    Rhakorz-piste 05_v2ray官网http://rapidgator.net/file/50123356/Odin.Blu-ray.DVD.Ripper.Platinum.v8.7.3-LAXiTY.rar.htmlhttp://ultramegabit.com/file/details/Tf41kOsUINMhttp://uploaded.net/file/5swjjfnj/Odin.Blu-ray.DVD.Ri

    2025年9月27日
    6

发表回复

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

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