python编程之if/for/whil

2023-01-31 02:01:49 python 编程 whil

1、python流程控制之if测试

A、python对象的特点--所有对象都支持比较操作

    数字:通过相对大小进行比较

    字符串:按照字典次序逐字进行比较

    列表和元组:自左至右比较各部分内容

    字典:对排序之后的(键、值)列表进行比较

B、Python中真和假的含义

    非零数字为真,否则为假

    非空对象为真,否则为假

    None则始终为假

    比较和相等测试递归地应用与数据结构

    返回值为True或False

C、if语法结构

    if boolean_expression1:    

        suite1

    elif boolean_espression2:

        suite2

    else: 

        else_suite

    (NOTE:elif 语句是 可选的;可以使用pass)

D、if的三元表达式

    expression1 if boolean_expression else expression2

    即A=X if Y else Z

    相当于if Y:

              A=X 

          else:

              A=Z

实例:

    wKioL1YHYqnAsyucAABhJLlJum8287.jpg


2.while循环

A、顶端测试为真即会执行循环体,并会重复多次测试直为假后执行循环后的其它语句

B、用于编写通用迭代结构

    效率比for低,所以通常用于编写非迭代以外的其它循环,迭代通常使用for

C、语法格式

    while boolean_expression:
        while_suite

    else:

        else_suite

    Note:  

    a. else 分支为可选部分

    b. 只要boolean_expression的结果为True,循环就会执行

    c. boolean_expression 的结果为False时终止循环,此时如果有else分支,就会执行

    d. break:跳出最内层的循环

    e. continue:跳到所处层循环的开始处

    f. pass:点位语句

    g. else代码块:循环正常终止才会执行;如果循环终止是由break跳出导致的,则else不会执行

D、实例

以列表list1=[0,1,2,3,4,5,6]中的元素为键,以list2=["Sun","Mon","Tues","Wed","Thur","Fri","Sat"]中的元素为值生成字典dict

    wKiom1YHYr6CzQ0WAADztyfzIz0155.jpg

3、for循环

A、一个通用的序列迭代器,用于历遍任何有序的序列对象类的元素

B、可用于字符串、元组、列表和其它的内置可迭代对象,以及通过类所创建的新对象

C、语法格式

    for expression1 in iterable: 
        for_suite
    else:

        else_suite

    Note:通常,expression或是一个单独的变量,或是一个变量序列,一般以元组的形式给出

          如果以元组或列表用于expression,则其中的每个数据都会拆分表达式的项

D、编写循环的技巧

    a. for循环比while循环执行速度快

    b. python提供了两个内置函数(range或xrange和zip),用于在for循环制定特殊的循环

            range:一次性地返回连续的整数列表

                非完备遍历--用于每隔一定的个数元素挑选一个元素

wKiom1YHYuyxWenuAACNdEA5x7c083.jpg

                修改列表

wKioL1YHYwSiWFMUAAB6O-ksWyM487.jpg

            xrange:一次产生一个数据元素,相较于range更节约空间

            zip

                返回并行的元素元组的列表,常用于在for循环中历遍整个序列

                取得一个或多个序列为参数,将给定序列中的并排的元素配成元组,返回这些元组的列表

                可在for循环中用于实现并行迭代

wKioL1YHYx_CRyrJAADVv4CwsqU159.jpg

                zip也常用与动态构造字典

wKiom1YHYzLh5thIAACQhPFpsbA688.jpg

    c. 产生偏移和元素

        range可在非完备遍历中用于生成索引偏移,而非偏移处的元素

        如果同时需要偏移索引和偏移元素,则可以使用enumerate()函数

        此内置函数返回以个生成器对象

wKioL1YHZC6CMCvkAACxFz7OB1A554.jpg

相关视频:

运维必备Python基础语法全讲解

相关文章