python使用缩进来表示代码块,缩进的空格数固定为4个(python中空格怎么打)

defcalc(numbers):sum=0forninnumbers:sum=sum+n*nreturnsumprint(calc([1,2,4]))现在返回的值又是什么呢:结果返回1为什么会返回1,仔细分析一下,代码我将return进行了缩进,这时return是基于for的每一个循环返回一个值,并且return当第一个条件满足时就不在往下执行了,所以当传入第一个1时,sum=0+…

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

defcalc(numbers):

sum=0for n innumbers:

sum= sum + n *nreturnsumprint (calc([1,2,4]))

现在返回的值又是什么呢:结果返回1

为什么会返回1,仔细分析一下,代码我将return进行了缩进,这时return是基于for的每一个循环返回一个值,并且return当第一个条件满足时就不在往下执行了,所以当传入第一个1时,sum=0+1*1=1,return 1就不再进行后面的循环了。而return不缩进那么return和for是同一级,当所有的for执行完后才执行return然后返回最终的结果

用将return替换成print更容易理解

defcalc(numbers):

sum=0for n innumbers:

sum= sum + n *nprint(sum)print (calc([1,2,4]))

21None>>>

而缩进print

defcalc(numbers):

sum=0for n innumbers:

sum= sum + n *nprint(sum)print (calc([1,2,4]))

1

5

21None>>>

由于prInt不像return不会满足条件就不往下执行,所以打印出了每一次循环的值。

二、if..else

在if..else条件判断中,一个块里面的语句都要保持缩进

def my_abs(x):if x>=0:

x=x-1

return(x)else:

x=x+1

在这里return就必须缩进,如果和if保持一样的话会导致后面的else定义失败,因为if…elif..else需要保持一致缩进。

如果这样写就错了:

def my_abs(x):if x>=0:

x=x-1

return(x)else:

x=x+1

由于return和if..else处于一样的缩进,导致else关联不上if

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

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

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


相关推荐

  • Lamp架构_公司网络架构与配置

    Lamp架构_公司网络架构与配置1.LAMP简介与概述1.1LAMP平台概述LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言1.2LAMP各组件作用(平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Wind..

    2022年10月17日
    5
  • 工控机上位机软件的开发历程(一)

    工控机上位机软件的开发历程(一)本人就职于一家环境监测公司,上位机软件的主要功能是采集各仪器的数据,然后存储起来,并传送到环保局平台。刚到公司的时候,公司使用的是组态软件(用以显示流程图),然后再开发了报表软件、数据上传软件。因为组态软件使用的是标准Modbus协议,而很多仪器使用的协议根本就是自定义的,所以还要加一个协议转换软件,把各种各样的协议转换成Modbus协议,让组态软件去读。除此之外,我们还希望软件能够开机启动,…

    2022年5月6日
    134
  • 硬盘的存储原理_移动硬盘工作原理

    硬盘的存储原理_移动硬盘工作原理主要记录磁盘的分类、组成等。

    2022年8月1日
    3
  • USB(UVC协议)摄像头

    USB(UVC协议)摄像头一 背景知识 1 1 背景 UVC 全称为 USBVideoClas 即 USB 视频类 是一种为 USB 视频捕获设备定义的协议标准 是 Microsoft 与另外几家设备厂商联合推出的为 USB 视频捕获设备定义的协议标准 已成为 USBorg 标准之一 对于一个 usb 摄像头来说 内部大概分为一个 VC 接口和一个 VS 接口 VC 接口内部有许多 unit 和 terminal 用来 控制 摄

    2025年11月28日
    5
  • Xposed模块制作入门「建议收藏」

    Xposed模块制作入门「建议收藏」由于某个项目的特殊需求,可能要用Xposed框架干一些事情。然而在国内基本没有找到关于Xposed模块制作的文章(基本上全是下载呵呵),只在XDA上找到一篇教程。这篇文章差不多是XDA上的教程翻译过来的(原文链接:http://forum.xda-developers.com/showthread.php?t=2709324可能需科学上网) 首先,Xposed框架是干啥的捏?玩安卓机比较多的

    2022年9月19日
    2
  • NodeJs的安装和环境变量配置[通俗易懂]

    NodeJs的安装和环境变量配置[通俗易懂]一、NodeJs的安装和环境变量配置第一步,下载安装NodeJS1.本文在windows平台下NodeJS安装实例,独立安装而不是在安装VisualStudio的过程中2.NodeJS中文官网下载:http://nodejs.cn/#download3.双击可执行文件,安装操作过程中可以修改安装目录,这样的话如果操作系统重装后nodejs不需要再次安装,只要配置一下环境变量就

    2022年6月7日
    37

发表回复

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

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