zoukankan      html  css  js  c++  java
  • Python核心编程学习日记之条件和循环

    第8章: 条件和循环

    1. if语句
      1. 格式:if expression:
           expr_true_suite
        
        
    2. else语句
      1. 格式:if expression:
           expr_true_suite
        else:
           expr_false_suite  
        
      2. Python的缩进使用强制使代码正确对齐,避免出现“悬挂else”的问题
    3. elif语句
      1. 可以使用序列和成员关系操作符,或者Python字典来替换大段的if_elif_else语句
    4. 条件表达式(三元操作符)
      1. 模拟三元表达式的一种方法:(C and [X] or [Y])[0].具体实现原理参照该篇博客。and和or的返回值是决定其值的操作数
      2. Python2.5将语法确定为:X if C else Y
    5. while语句,for语句
      1. for循环会访问一个可迭代对象(例如序列或是迭代器)中的所有元素,在所有条目都处理过后结束循环
      2. 迭代序列基本方法:通过序列项迭代;通过序列索引迭代;使用项和索引迭代,调用enumerate()函数
      3. for循环访问迭代器:迭代器对象有一个next()方法,所有条目迭代完成后,迭代器引发一个StopIteration异常,for语句在内部调用next()捕获异常
      4. range()完整语法:range(start, end, step = 1),不包括end
      5. range()简略语法:range(end)或者range(start,end)
    6. break语句;continue语句;pass语句;else语句
      1. pass语句相当于c语言中一个只有;的语句,表示什么操作也不做,只是为了满足语法要求
      2. else语句也可以在while和for循环中使用else语句,在循环结束之后执行,break语句也会跳过else块
    7. 迭代器和iter()函数
      1. 迭代器就是一个有next()方法的对象.调用一次next()获取下一个项。全部取出,引发一个StopIteration异常,提示外部调用者,迭代完成
      2. 迭代器不能向后移动,不能回到开始,不能复制一个迭代器,“一次性使用”。
      3. 使用迭代器
        1. 序列; 字典的迭代器会遍历它的键:for each in dict:, 另外三个定义迭代方法:myDict.iterkeys(),myDict.itervalues(),myDict.iteritems()
        2. 文件对象生成的迭代器会自动调用readline()方法
        3. 可变对象:在迭代可变对象时,修改它们一定要慎重,最好不要这样做
        4. 调用iter(obj)或者iter(func,sentinel)得到对象的迭代器。实现了__iter__()和next()的类可以作为迭代器
        5. 列表解析语法:[expr for iter_var in iterable] 结果值是expr表达式对于每一个列表条目作用产生的列表
        6. [expr for iter_var in iterable if cond_expr] if语句过滤/捕获序列成员。列表解析支持多重嵌套for循环以及多个if子句
        7. 当大量数据的迭代器用于列表解析,由于要生成所有数据,内存利用性能不佳。生成器表达式:(expr for iter_var in iterable if cond_expr) 生成器用作参数,每次计算出一个条目,并未建立真正列表,所有内存利用更有效
  • 相关阅读:
    HTML DOM 节点
    HTML DOM 简介
    XML DOM
    JavaScript Window Screen
    JavaScript Window
    JavaScript Date(日期) 对象
    11.2 正睿停课训练 Day15
    10.31 正睿停课训练 Day13
    10.29 正睿停课训练 Day11
    BZOJ.4361.isn(DP 树状数组 容斥)
  • 原文地址:https://www.cnblogs.com/xyqhello/p/2865180.html
Copyright © 2011-2022 走看看