首页 » InfoTech »

Python循环语句中的else分支

2016年11月15日 / 76次阅读
Python

打开支付宝首页,搜索“529018372”,即可领取红包!可重复领。

特色图片

编程语言Python的循环语句跟其它语言最大的不同在于,可以带一个else分支。

如下代码断示例:

    for i in range(len(strii),1,-1):
        if cc == 3:
            result = ',' + result
            cc = 0
        result = strii[i-1] + result # index starts from 0
        cc += 1
    else: # after the loop is over
        if strii[0] == '-':
            result = strii[0] + result # negative sign
        
    return result # return a string

注意那个else语句,这个else语句是跟for循环配对的。

(以上这段代码来自用Python实现将数字转换为逗号分隔形式的字符串

 

在Python中,跟循环语句配对的else语句的执行规则:

1, 这样的else不能是else if....,不能带条件的;

2, else语句在循环执行完毕之后,立即执行;(如果是break语句跳出的循环,else就不执行)

3, 如果代码不能进入循环,直接执行else语句;

关于以上第一条,如果是else if,在模块加载的时候,系统报错:

>>> imp.reload(za)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\imp.py
", line 314, in reload
    return importlib.reload(module)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\import
lib\__init__.py", line 166, in reload
    _bootstrap._exec(spec, module)
  File "<frozen importlib._bootstrap>", line 626, in _exec
  File "<frozen importlib._bootstrap_external>", line 661, in exec_module
  File "<frozen importlib._bootstrap_external>", line 767, in get_code
  File "<frozen importlib._bootstrap_external>", line 727, in source_to_code
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "d:\onlinepro\za.py", line 92
    else if strii[0] == '-': # after the loop is over
          ^
SyntaxError: invalid syntax

 

对于while循环,一样的。

虽然没有else,整个代码的执行流程跟有else是一样的,Python这样做带来的好处是增加人类对代码的可读性,让与循环有关系的代码形成一个整理,逻辑和结构性都更强。

 

Python中对于异常处理的代码,依然有else分支可以使用,提高可读性:

    try:
        abcd += 10
    except:
        print('yichang')
    else:
        print('ok')

如果没有发生异常,打印OK;

如果发生异常,else分支不再执行。

推荐阅读:Python异常处理中的else和finally

本文链接:http://www.maixj.net/ict/python-xunhuan-else-13612
云上小悟 麦新杰(QQ:1093023102)

相关文章

评论是美德

《Python循环语句中的else分支》有1条评论

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.

  • 麦新杰

    Python官方对for语句后面的else的解释:Loop statements may have an else clause; it is executed when the loop terminates through exhaustion of the list (with for) or when the condition becomes false (with while), but not when the loop is terminated by a break statement. [ ]


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top