首页 > 编程语言 > 详细

python 缩进问题

时间:2016-07-21 00:41:08      阅读:308      评论:0      收藏:0      [点我收藏+]

介绍

在python中认为规定4个空格缩进,缩进的代码可以理解成一个块,但是使用缩进也需要注意有时不一样的缩进产生的结果会不一样,接下来就来看一个列子
 
例:自定义一个函数 ,最后返回传入值的平方相加
def calc(numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum
print (calc([1,2,4]))
上面的代码返回了正常在值:21
 
接下来把代码稍微改一下
def calc(numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
        return sum
print (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更容易理解

def calc(numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    print (sum)
print (calc([1,2,4]))
21
None
>>> 

而缩进print

def calc(numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
        print (sum)
print (calc([1,2,4]))
1
5
21
None
>>> 

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

总结

 使用缩进要明白每一行缩进的意义,否则返回的结果可能不是正确的结果

 

 

备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

python 缩进问题

原文:http://www.cnblogs.com/chenmh/p/5689305.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!