美文网首页
在Python中使用循环

在Python中使用循环

作者: 醉看红尘这场梦 | 来源:发表于2020-03-12 10:11 被阅读0次

    几乎任何一个有用的程序也都会至少包含一个循环语句。相信你对循环这个概念并不陌生,在Python里,和其他编程语言类似,我们可以使用forwhile实现循环。

    使用for循环

    相比C中的版本,Python中的for循环更接近自然语言,它采用了for 元素 in 集合这样的语法形式,例如,遍历一个rangelist

    for num in range(1, 5):
        print(num)
    
    for num in [1, 2, 3, 4]:
        print(num)
    
    

    可以看到,和if类似,for循环语句的末尾,也要使用:表示结束,并且,所有属于for循环的代码,必须有相同的缩进。至于含义,则很好理解,这两个循环打印出来的结果,都是1234。

    当我们使用for遍历dictionary的时候,遍历的实际上是它的key,来看个例子:

    user = {'email': '11@boxue.io', 'name': 'Mars'}
    
    for info in user:
        print(info)
        # email
        # name
    
    

    可以看到,在for循环中的info对应的就是user中key的名字。但要说明的是,for循环遍历user时得到的key的顺序,可能和定义user时是不同的,因为dictionary是一个无序集合,我们不能依赖key的定义顺序编写代码。

    以上,就是Python中for循环的基本用法。但除此之外,for还有一个自己独特的语法,它也允许我们定义一个else分支,这个分支只有在for自然结束的时候,才会执行。

    什么是自然结束呢?简单来说,就是遍历了所有的情况,来看个例子:

    for num in range(1, 5):
        print(num)
    else:
        print('All numbers are iterated.')
    
    

    这样,在遍历完range中的所有数之后,我们就会在控制台看到All numbers are iterated.这样的结果。但是,如果我们在循环中添加个条件中途退出:

    for num in range(1, 5):
        if num == 2:
            break
        print(num)
    else:
        print('All numbers are iterated.')
    
    

    这样,for循环就不算自然结束,我们也就看不到else分支的执行了。为什么要给for循环添加一个else呢?Hmm... 貌似的确没有一个必须的理由。一个看似还合理的用法,就是for循环自然结束表示某种应用错误的时候,我们可以在else分支中抛出一个异常,这样可以让代码变得好看一些。稍后,我们讲到错误处理的时候,会提到这种用法。

    了解了for的用法之后,接下来,我们来看另外一种循环方式:while

    使用while循环

    while的用法和C中几乎是完全一样的,它接受一个boolean表达式,只要表达式的值为True就会一直执行下去:

    num = 1
    
    while num < 10:
        if num % 2 == 0:
            num += 1
            continue
    
        print(num)
        num += 1
    
    

    这里,在循环中使用continue表示跳过当前循环中的剩余指令,直接从下一次循环开始。于是,我们就只能在控制台看到1-9中所有的奇数了。

    相关文章

      网友评论

          本文标题:在Python中使用循环

          本文链接:https://www.haomeiwen.com/subject/bmqyjhtx.html