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++时的惯性思维,对此多加小心和注意。

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

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

(0)
上一篇 2022年4月8日 下午3:20
下一篇 2022年4月8日 下午3:40


相关推荐

  • 初衷

    本博客会不定期做技术分享,在学习的过程中遇到或者踩到的坑也会拿出来给大家分享,个人感觉技术这个东西在于分享,交流产生价值。本博客也会记录我的成长,希望在当中留下些许痕迹让刚入门的师傅们参考,最后我

    2021年12月11日
    34
  • 博客搬家

    博客搬家我的另一个博客http://www.cnblogs.com/dingxiaowei欢迎光临,共同学习!我的新浪微博http://blog.sina.com.cn/dingxiaowei2013转载于:https://www.cnblogs.com/java20130723/archive/2013/01/04/3211485.html…

    2022年5月29日
    38
  • div 环形排列_三个div如何并排

    div 环形排列_三个div如何并排javascript-按圆形排列DIV元素(一)分析效果图:一、分析图:绿色边框内:外层的DIV元素,相对定位;白色圆形框:辅助分析的想象形状;白点:为白色圆形的圆心点,中心点,点o;圆

    2022年8月1日
    5
  • SQLServer中存储过程StoredProcedure创建及C#调用(转)

    SQLServer中存储过程StoredProcedure创建及C#调用(转)此文作为入门了解用,转自http://www.2cto.com/database/201502/378260.html存储过程就是已经编译好的、优化过的放在数据库服务器中的一些SQL语句;可供应用程序直接调用。使用存储过程有以下几个优点:1、执行速度比普通的SQL语句快2、便于集中控制3、可以降低网络的通信量4、保证数据库的安全性和完整性5、灵活性创建存储过程可…

    2022年7月26日
    6
  • 解析Java中文乱码的处理方法

    解析Java中文乱码的处理方法【引自程序犹如人生的博客】为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程。汉语编程是怎么回事,我也不大清楚,应该是前年吧!我一朋友给我介绍汉语编程,怎么不错不错?当时因为学习忙没去关注这个,等我闲了,那个朋友不弄这个,问他,他也不说不大清楚,最后自己对这个学习也不了了之

    2022年7月7日
    48
  • BigDecimal 转换为int 或者其他类型

    BigDecimal 转换为int 或者其他类型我列举了转换的方法 BigDecimalHA UP newBigDecima 12 44 setScale 1 RoundingMode HALF UP intvalue HALF UP intValue floatvalue1 HALF UP floatValue doublevalue2 HALF UP doubleValue longvalue3 H

    2026年3月16日
    3

发表回复

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

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