Python缩进规则「建议收藏」

传统的c、c++、Java都是使用花括号{}来决定作用域的范围,并且会在编程过程中自动对缩进进行管理,但是在python中,则是使用缩进来决定代码的范围,有时候缩进需要根据代码来手动调控,此时如果完全依赖python自动缩进,可能会出现问题。例如://计算数组和,正确格式defsum_list(alist):sum_temp=0foriinalist:sum_temp+=ireturnsum_temp#此处需要手动调节缩进print(s

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

传统的c、c++、Java都是使用花括号{}来决定作用域的范围,并且会在编程过程中自动对缩进进行管理,但是在python中,则是使用缩进来决定代码的范围,有时候缩进需要根据代码来手动调控,此时如果完全依赖python自动缩进,可能会出现问题。例如:
//计算数组和,正确格式

def sum_list(alist):
    sum_temp=0
    for i in alist:
        sum_temp+=i
    return sum_temp    #此处需要手动调节缩进
print(sum_list)        #此处需要手动调节缩进
my_list=[23,45,67,89,100]
my_sum=sum_list(my_list)
print("sum of my list:%d"%(my_sum,))

运行结果:
在这里插入图片描述

//计算数组和,按照自动缩进

def sum_list(alist):
    sum_temp=0
    for i in alist:
        sum_temp+=i
        return sum_temp
    print(sum_list)
    my_list=[23,45,67,89,100]
    my_sum = sum_list(my_list)
    print("sum of my list:%d"%(my_sum,))

运行结果:
在这里插入图片描述
如果完全依赖于自动缩进,代码会出现问题。

python中利用缩进表示控制结构如下
此图片来源于中国MOOC《python语言基础与应用》-北京大学
此图片来源于中国MOOC《python语言基础与应用》-北京大学
注意:
缩进的空白数量可变,但是所有代码块语句必须包含相同的缩进空白数量,此外,采用的缩进方式不同,有的空格缩进,有的tab键缩进,也会造成错误。
在python中,空行也是程序代码的一部分,作用是分隔两断不同功能或含义的代码,例如:函数之间、类的方法之间用空行分隔,以表示一段新代码的开始。
总而言之,在python中,缩进对程序结构起着重大作用,在程序开发时应当摒弃c/c++时的惯性思维,对此多加小心和注意。

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126701.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Django(55)GenericAPIView源码分析

    Django(55)GenericAPIView源码分析源码分析GenericAPIView继承自APIView,也就是在APIView基础上再做了一层封装,源码如下:classGenericAPIView(views.APIView):query

  • 数组的前缀和及查分数组

    数组的前缀和及查分数组1,前缀和主要适用场景是原始数组不会被修改的情况下,频繁查询某个区间的累加和。这里就不写前缀和的代码了,就是用一个数组记录下原有数组的前缀和。比如,prefix[i]就代表着nums[0…i-1]所有元素的累加和,如果我们想求区间nums[i…j]的累加和,只要计算prefix[j+1]-prefix[i]即可,而不需要遍历整个区间求和。(需要注意的是使用场景是频繁查询某个区间的累加和,而不需要对原始数组进行频繁修改)2,查分数组的主要适用场景是**频繁对原始数组的某个区间的元素进行增减。**比

  • 【22】进大厂必须掌握的面试题-30个Informatica面试

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 在大数据时代,任何公司的成功都取决于数据驱动的决策和业务流程。在这种情况下,数据集成对于任何业务的成功秘诀都是至关重…

  • stm32固件库介绍_STM32固件库使用手册

    stm32固件库介绍_STM32固件库使用手册STM32固件库编程入门

  • 遗传算法简单实例_遗传算法的特点有哪些

    遗传算法简单实例_遗传算法的特点有哪些遗传算法的手工模拟计算示例为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各   个主要执行步骤。      例:求下述二元函数的最大值:   (1)个体编码          遗传算法的运算对象是表示个体的符号串,所以必须把变量x1,x2编码为一种      符号串。本题中,用无符号二进制整数来表示。

  • elastic search面试题_elasticsearch实战

    elastic search面试题_elasticsearch实战1.什么是Elasticsearch?Elasticsearch是一个基于Lucene的搜索引擎。它提供了具有HTTPWeb界面和无架构JSON文档的分布式,多租户能力的全文搜索引擎。Elasticsearch是用Java开发的,根据Apache许可条款作为开源发布。2.ES中的倒排索引是什么?传统的检索方式是通过文章,逐个遍历找到对应关键词的位置。倒排索引,是通过分词策略,形成了词和文章的映射关系表,也称倒排表,这种词典+映射表即为倒排索引。其中词典中

发表回复

您的电子邮箱地址不会被公开。

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