暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python | range数据类型、for循环及应用方式

西安川石 2022-03-17
254


每天一个测试技术

只需几分钟

川石信息 带你学点更好的



本章主要知识点:

1

了解for循环的作用和基本语法

2

掌握for循环的基本语法和使用技巧

3

掌握嵌套for循环的使用



1

// 再看range数据类型


了解range的类型的一些基本操作。



range类型


range也是一种类型( type) , 它是一个数字的序列( sequence of numbers) , 而且是不可变的,通常用在for循环中


●每次使用range( )默认返回一个列表对象。


实现原理:


>>> mlist = range(10 )说明 :首先在内存中构建一个列表对象再并将0~9数字添加到列表中。


创建语法:


●range( stop): list #创建一 个列表,默认从0开始到stop指定范围的前一个结束,每次递增步长为1。


●range( [start,] stop Istep]) : list #创建一个列表 ,从start开始到stop指定范围的前一个结束,每次按照step指定的步长递增。



range ( )示例说明


●使用range ( )输出0~9数字。


    >>> range(10)
    [0, 1,2,3,4,5,6,7,8, 9]
    >>> range(0, 10)
    [0, 1,2,3,4,5,6,7,8, 9]


    当step为正时,一个range的元素值为r[ = start+ i* step且r心< stop; step为负时,r[心> stop.

    左右拉动查看完整代码


    ●使用range( )输出1~9之间数。


      >>> range(1, 10, 2)
      [1,3,5, 7, 9]

      左右拉动查看完整代码


      ●使用range ( )输出0~-10之间数。


        >>> range(0, -10, -2)
        [0, -2,-4,-6, -8]

        左右拉动查看完整代码



        川石课堂

        免费学习自动化测试




        2

        // For循环语句


        掌握for循环的基本语法格式,了解for循环的应用场景



        for循环语句


        For循环语句一般用于已知循环次数的遍历操作,比如列表、字符串等。



        基本语法:


          for.变量in循环对象:
          循环语句块;
          pass

          左右拉动查看完整代码



          嵌套循环


          ●嵌套循环常指两个for循环叠加使用。外层循环循环1次,内层循环循环N次。


          ●例如:分针每走1格(外层循环) ,秒针需要走60格(内层循环)


          示例代码:输出九九乘法表

          代码演示:ch05-demo06-jiu.py



          运行结果:




          For循环使用说明


          ●使用for循环输出0~ 9数字:ch05- demo01-for -basicpy



          • 使用for循环输出9~0数字:ch05-demo02-for-basic.py



          • 输出列表元素:ch05-demo03-for-list.py




          For循环控制语句for..else...


          在Python中, for ... else表示这样的意思, for中的语句和普通的没有区别, else中的语句会在循环正常执行完(即for


          不是通过break跳出而中断的)的情况下执行,与上一章中的while .. else是一样。


          场景模拟:输出1~10之间的质数并打印整除过程。

          代码演示:ch05-demo08-for-else.py




          3

          // 推导式


          Python3中重要的应用方式,介绍列表、字典推导式的应用



          推导式


          ●推导式comprehensions (又称解析式) ,是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据


          序列的结构体。共有三种推导:


          ①列表(list)推导式

          ②字典(dict推导式

          ③集合(set)推导式



          列表推导式


          ●基本格式


            variable= [out_ exp_ res for out_ exp in input_ listifout_ exp== 2]

            左右拉动查看完整代码


            ○语法说明


            →out_ exp_ _res: 列表生成元素表达式,可以是有返回值的函数。


            →for out_ _exp in input_ list: 迭代input_ list将out_ _exp传入out exp_ res表达式中。


            →ifout_exp==2:根据条件过滤哪些值可以。


            示例应用1


            代码演示1 : ch05-demol0-for-comprehensions.py


              >>> mlist1= [i fori in range(1,101)ifi%2== 0]
              >>> mlist1

              左右拉动查看完整代码


              代码演示2 : ch05-demol0-for-comprehensions py数字拆位


                >>> number = 4321
                >>> mlist2 =['abc_ '+str(i) for in range(1,101)ifi %2== 0]

                左右拉动查看完整代码



                字典推导式


                ● 字典推导和列表推导的使用方法是类似的,只不过中括号该改成大括号。


                ○ K-V值互换


                代码演示5 : ch05-demo10-for-comprehensions,py


                  #字典推导式
                  mcase={'a': 10, 'b': 34}
                  mcase_ frequency= {v: k for k, V in mcase.items()}
                  print(mcase_ frequency)

                  左右拉动查看完整代码



                  集合推导式


                  跟列表推导式也是类似的。唯一 的区别在于它使用大括号{}.


                  代码演示5 : ch05-demol0-for-comprehensions.py


                    #集合推导式
                    >>> square= {i**2 fori in range(10)ifi%2== 0]}
                    >>> square

                    左右拉动查看完整代码






                    ⭐川石信息 春季特惠⭐


                    线上提升班,火热活动中,最高优惠直降1000+

                    涨薪必备:高级性能测试+自动化测试开发,一线企业offer挑到手软!

                    报名还送 jmeter python / redis 三门免费课程包!

                    名额有限,扫一扫下方图片二维码速度联系我预约报名!

                    😎来川石,更优质的就业机会等着你。



                    今天的内容就学习到这里了,每个工作日小编都会更新一个有关测试的小知识,希望大家多多关注我们,一起来学习喔!


                    温馨提示:添加老师微信【13691729932】可以获取全套软件测试自学资料!



                     往期回顾 

                    Python | While循环控制语句



                    大神邀你加入

                    软件测试群

                    免费软件测试课

                    川石课堂



                    文章转载自西安川石,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论