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


相关推荐

  • 超火的Vhr(SpringBoot +Vue)实战项目+文档

    超火的Vhr(SpringBoot +Vue)实战项目+文档项目摘要vhr是一个基于SpringBoot+Vue技术栈开发的前后端分离项目,项目使用SpringBoot2.1.8来开发,集成了当前企业级开发中众多的热门技术点,如消息中间件、Redis缓存、SpringBoot+Vue+ElementUI技术栈等等。技术选型核心框架:SpringBoot2.1.8 安全管理:SpringSecurity 持久层框架:MyBatis 缓存:Redis 数据库:MySQL8 消息队列:RabbitMQ 即时通信:WebSocket

    2022年10月28日
    0
  • tof 相机的数据读取,depth data和amplitude data以及3D数据[通俗易懂]

    tof 相机的数据读取,depth data和amplitude data以及3D数据[通俗易懂]1.开发前提如果相机带有SDK也就是开发需要的工具以及包,就要用相机带的开发包,里面包含了相应的读取文件的函数,以及设置的相机的相关函数。本文使用的是TTF相机,C++头文件代码如下:#include"../../include/TTF_API.h"#include<unistd.h>usingnamespacestd;usingnamespaceV…

    2022年5月9日
    48
  • dropdownlist控件绑定_dropdownlist控件联动

    dropdownlist控件绑定_dropdownlist控件联动 也谈谈动态绑定dropdownlist CSDN 2004年7月31日 阅读:6428次   说来,很多的dropdownlist选项都不是固定的,是会动态改变的,一种方法是在页面上写死,改变时,直接修改页面就可以了。但是很多人是使用动

    2022年10月8日
    0
  • idea最新激活码2021_通用破解码

    idea最新激活码2021_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    55
  • Android代码混淆及反编译

    Android代码混淆及反编译如果你目前还是一名学生或是没有在应用商店中上传过应用,恐怕对此的感受不深。而在企业中对Java代码的混淆却是一步很重要的步骤,从安全的角度来说,代码混淆,防止居心不良的人对代码进行恶意篡改非常重要。下面就是对Android项目进行的代码混淆和加密签名过程。

    2022年5月30日
    50
  • Win64 驱动内核编程-28.枚举消息钩子「建议收藏」

    Win64 驱动内核编程-28.枚举消息钩子「建议收藏」枚举消息钩子 简单粘贴点百度的解释,科普下消息钩子:钩子是WINDOWS中消息处理机制的一个要点,通过安装各种钩子,应用程序能够设置相应的子例程来监视系统里的消息传递以及在这些消息到达目标窗口程序之前处理它们。 钩子的种类很多,每种钩子可以截获并处理相应的消息,如键盘钩子可以截获键盘消息,鼠标钩子可以截获鼠标消息,外壳钩子可以截获启动和关闭应用程序的消息,日志钩子可以监视和记录输入事件。

    2022年7月26日
    9

发表回复

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

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