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

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

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

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

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

(0)


相关推荐

  • Dockerfile add_dockerfile copy和add区别

    Dockerfile add_dockerfile copy和add区别前言Dockerfile中提供了两个非常相似的命令COPY和ADD,本文尝试解释这两个命令的基本功能,以及其异同点,然后总结其各自适合的应用场景。Build上下文的概念在使用dock

  • json_decode遇到的编码问题

    json_decode遇到的编码问题

  • api网关 kong_什么是api网关

    api网关 kong_什么是api网关1.Kong简介Kong是一款基于OpenResty(Nginx+Lua模块)编写的高可用、易扩展的,由Mashape公司开源的APIGateway项目。Kong是基于NGINX和ApacheCassandra或PostgreSQL构建的,能提供易于使用的RESTfulAPI来操作和配置API管理系统,所以它可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各…

  • Pycharm入门使用教程(for python)「建议收藏」

    Pycharm入门使用教程(for python)「建议收藏」1.新建项目打开2.选择解释器选择了合适自己python代码的解释器,编译才不会出错settings-project-Interpreter-选择合适自己的python3.x或者python2.x3.安装模块settings-project-Interpreter-右边‘+’-选择自己想要安装的模块4.设置字体settings-Appearance&Behaviorsettings-Editor-colorscheme-scheme-选择自己想要的工作区域风格5.设置编码可解

  • Binder 机制「建议收藏」

    Binder是Android系统进程间通信(IPC:InternetProcessConnection)方式之一。Linux已经拥有的IPC手段包括:管道(Pipe)、信号(Signal)、跟踪(Trace)、插口(Socket)、报文队列(Message)、共享内存(ShareMemory)和信号量(Semaphore)等。本文详细分析Binder作为Android主要IPC方式的优势。一、概述基于Client-Server的通信方式,广泛应用于从互联网和数据库访问

  • 这7个web前端开发写代码软件,你过用几个?[通俗易懂]

    群里的朋友,经常问到web前端开发写代码用那个软件好?今天在这里统一回答下,主流的web前端开发写代码的软件有这些Webstorm、Vscode、SublimeText、HBuilder、Dreamweaver、notepad++、editplus等,做前端这么多年了,下面谈下我的使用感受吧。1.WebStorm【推荐】WebStorm是jetbra…

发表回复

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

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