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


相关推荐

  • QtreeWidget简介「建议收藏」

    QtreeWidget简介「建议收藏」设置右键菜单并实现添加一个子项删除一个子项的功能这样有两个缺点1.只能添加特定的子项。2.不能实现不同层级节点的不同菜单。dialog.cppwidget.cppwidget.h还可以通过TYPE属性来确定每一个节点的层级。代码实现mainwindow.cppmainwindow.hdialog.cppdialog.h参考博客…

    2025年6月23日
    5
  • CAS单点登录原理(包含详细流程,讲得很透彻,耐心看下去一定能看明白!)

    CAS单点登录原理(包含详细流程,讲得很透彻,耐心看下去一定能看明白!)转载地址http://www.cnblogs.com/lihuidu/p/6495247.html1、基于Cookie的单点登录的回顾    基于Cookie的单点登录核心原理:   将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中取出用户名密码进行登录,让用户从某种意义上觉得只登录了一次。   该方式缺…

    2022年6月6日
    34
  • 课程设计酒店管理系统_管理系统课程设计

    课程设计酒店管理系统_管理系统课程设计1.题目要求•顾客入住、退房•房间预订•换房处理•续住管理•折扣2.架构选择:B/SB/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现。3.语言选择:PythonhtmlccsJavaScripthtml…

    2025年11月24日
    5
  • 华为面试内幕[通俗易懂]

    华为面试内幕[通俗易懂]华为面试内幕–写给想进华为的毕业生的话华为公司的面试过程分为5个环节:一面(技术)、二面(集体)、三面(性格测试)、四面(英语)、五面(综合)。通关者方可录用。这个流程表面上设计挺严谨的,还是某个著名公司设计的流程。但实际上华为

    2022年7月17日
    29
  • ANSYS ICEM CFD 网格划分步骤简要总结[通俗易懂]

    ANSYS ICEM CFD 网格划分步骤简要总结[通俗易懂]

    2022年5月9日
    40
  • java开发工程师简历模板,2022最新「建议收藏」

    模块科技招聘官莅临千锋教育招聘Java开发工程师招聘官谢经理莅临千锋教育成都分校招聘10位Java开发工程师,谢经理在面试前的宣讲会上,为学员详细介绍了模块科技的发展现状和岗位需求,让学员对公司和岗位有了充分的认识。在随后的面试环节,学员们基于对企业的了解和自身职业发展规划,纷纷递交上自己的简历。年薪120W的架构师简历你见过吗?java程序员该如何达到?这可以归因于Java是德国对于软件工程师来说,因为它用于为许多行业构建高可伸缩性的应用程序。大多数企业服务依赖于Java来支持企业日常那年薪1

    2022年4月14日
    180

发表回复

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

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