美文网首页
Python之旅-5

Python之旅-5

作者: 骑小猪看流星 | 来源:发表于2018-11-17 00:22 被阅读72次
    前言:

    本篇文章是《Python之旅》系列的第五篇,在上一篇文章中主要学习了Python 的条件语句。本篇文章主要学习的知识点有:Python 的循环语句以及循环控制语句

    Python的循环语句:

    在不少实际问题中(泛指开发过程),有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。循环语句是由循环体及循环的终止条件两部分组成的。一组被重复执行的语句称之为,循环体。另外,循环体能否继续重复,取决于循环的终止条件。跟Java类似,Python也提供了for循环和while循环,但是Python中没有do..while循环。

    for循环

    Python中for循环的写法有如下几种:第一种写法是 是直接使用in关键字,in关键字的后面直接跟上具体的数据,下面是参考代码:

    # for循环一:循环遍历字符串                       
    for a in "Python Java":                
        print a                            
                                           
    # for循环二:循环遍历 列表                       
    data = ['Python', 'Java',  'C']        
    for b in data:                         
        print b                            
                                           
    

    感觉for循环的第一种写法是简洁明了的,编译运行后结果如下:

    P
    y
    t
    h
    o
    n
     
    J
    a
    v
    a
    Python
    Java
    C
    

    我们知道len函数可以用来获取长度,因此想要获取列表的角标可以使用len函数以及搭配range关键字来获取角标。获取完角标以后就可以根据角标获取对应的属性值,下面是data列表使用range关键字来获取角标以及遍历的第二种写法

    for c in range(len(data)): 
        # 获取列表的角标       
        print c         
        # 根据角标就可以获取列表的属性
        print data[c]   
    

    另外,关于 range要多提一嘴,它的本质是一个函数 第一个参数代表的是初始化的值,第二个参数代表的意思的结束值,第三个参数可不填,第三个参数代表的是每次运行所执行的规律(也可以理解为:间隔),不写的话默认就是1 ,例如,下面的代码,初始化值是2,结束值是10,第三个参数没有填写,编译运行以后会输出2-9

    for d in range(2,10):  
        # 最终会打印2-9         
        print d            
    

    为了测试第三个参数,将第三个参数分别设置为2、3来看看打印结果:

    设置步长

    for循环的第二种写法是 是使用in关键字,然后搭配enumerate这个函数,enumerate函数的参数就是具体需要遍历的数据,这种写法可以直接打印角标以及角标对应的属性值,非常快捷实用,参考代码如下:

    
    data = [12, "Python", 23, True, 76, 89]    
    for i, j in enumerate(data):       
        # i对应的是角标,j对应的是属性值                
        print i,j  
                                
    

    打印结果如下:

    0 12
    1 Python
    2 23
    3 True
    4 76
    5 89
    

    我们知道 冒泡排序是2个属性值进行比较,比较规则是,两两相比:小的属性值上浮、大的属性值下沉,简而言之就是进行位置交换,在Python中也可以快速实现冒泡排序:

    # 冒泡排序
    
    dataArray = [ 12,80,22,38,33,9,4,25,76,1992,1314 ]
    
    for i in range(len(dataArray)):
    
        for j in range(i+1):
    
            if dataArray[i] < dataArray[j]:
    
               # 实现连个变量的互换
    
               dataArray[i],dataArray[j] = dataArray[j],dataArray[i]
    
    print dataArray
    
    

    由于Python的谜之缩进,最后一行的print输出语句如果加上对应的缩进之后 输出语句都不一样,可以体验一下....

    while循环

    说到while循环,首先想起的就是那个while (true){ ....... },Python中也可以使用while循环来进行循环语句的使用,符合条件表达式即执行语句,不满足即不执行语句,下面是while循环简单的使用:

    # while循环:                                                               
    a = 0                                                                    
    while a < 5:                                                             
        print "while循环执行语句"                                                  
        a = a + 1                                                            
                                                                 
    

    在 Python 中,for循环可以使用else,while语句也可以使用else,else是在循环条件为 false 时执行:

    # while循环:                          
    a = 0                               
    while a < 5:                        
        print "while--循环执行语句"           
        a = a + 1                       
    else:                               
        print "end......while语句执行完毕"    
    

    编译运行后,结果如下:

    while--循环执行语句
    while--循环执行语句
    while--循环执行语句
    while--循环执行语句
    while--循环执行语句
    end......while语句执行完毕
    
    Python的循环控制语句:

    Python的循环控制语句包含3个关键字,分别是breakcontinuepass

    • 首先是break
      跟Java一样,break语句是用来,在执行过程中终止循环,并且跳出整个循环。 这也就说明,循环条件即使没有False,或者序列还没被完全递归完,也会停止执行循环语句。

    • 然后是continue
      跟Java一样,continue语句是用来,在执行过程中,跳过本次循环,然后进行下一轮循环 。从某种意义上来说,continue语句是用来做过滤删除的,主要是为了删除满足循环条件下的某些不需要的成分,比如用户名带违禁字等等 ,假设现在我们要过滤一个叫 雅蠛蝶 的关键字,参考代码如下:

    data  = ["雅蠛蝶","AA","BB","CC","DD","EE"]          
    trueData = []                                     
                                                      
    for i, j in enumerate(data):                      
        if "雅蠛蝶" == j:                                
            continue                                  
        trueData.append(j)                            
                                                      
    print trueData                                    
                                                      
    
    • 最后是pass
      pass语句比较特殊,这个pass,主要是用来保持程序结构的完整性。pass,代表不做任何事情,一般是用来做占位语句,代码如下:
    for p in 'Python':                     
       if p == 'h':                        
          pass                             
          print '执行 pass 语句块'              
       print '字母 :', p                     
    

    编译运行后,结果如下:

    字母 : P
    字母 : y
    字母 : t
    执行 pass 语句块
    字母 : h
    字母 : o
    字母 : n
    
    总结:

    本篇文章主要学习了:Python 的for循环、while循环以及循环的控制:break、continue、pass

    如果这篇文章对您有开发or学习上的些许帮助,希望各位看官留下宝贵的star,谢谢。

    Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果

    相关文章

      网友评论

          本文标题:Python之旅-5

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