前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python使用缩进来表示代码块,缩进的空格数固定为4个(python中空格怎么打)

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

作者头像
全栈程序员站长
发布2022-07-25 21:30:58
发布2022-07-25 21:30:58
2.6K0
举报

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

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.cn/127910.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档