zoukankan      html  css  js  c++  java
  • 条件&循环

    if
    1.支持多重条件表达式: if not warn and (system_load>=10):
    2.单一语句的代码块:(如果代码块只有一行代码):if make_hard_copy:send_data_to_printer()
    3.可以避免悬挂
    4.elif可以替代switch/case
    5.可以用成员关系和序列:

    if user.cmd in ('create','delete','update'):
    action='%s item'%user.cmd
    else:
    action='invalid choice ... try agai!'
    

    扩展:字典获取方式

    msgs={'create':'create item','delete':'delete item','update':'update item'}
    default='invalid choice... try again'
    action=msgs.get(user.cmd,default)   参考 dict.get(key, default=None)
    

    6.三元操作符
    smaller=x if x<y else y

    while

    一般:
    while expression:
          suite_to_repeat
    计数:
    count=0
    while(count<9):
          ...
          count+=1
    无限循环:
          while true:
          ....
    

    for

    for iter_var in iterable:
    suite_to_repeat
    

    iter_var迭代变量被设置为可迭代对象(序列,迭代器或其他支持迭代的对象)

    1. 用于序列(字符串、列表或元组)
      for eachLetter in 'Names':
      print 'current letter:',eachLetter
      1.1 通过序列项迭代
      1.2 通过序列索引迭代
      1.3 使用项和索引迭代
    nameList=['Donn','Shirley','Ben','Janice','David','Yen','Wendy']
    for i ,eachLee in enumerate(nameList):   #枚举的索引从0开始
    print"%d %s Lee"%(i+1,eachLee)
    
    1. xrange 只在python2中,python3中不存在
    2. 与序列相关的内建函数
      sorted(),reversed(),enumerate(),zip()

    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
    我们可以使用 list() 转换来输出列表。
    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

    albums=('Poe','Gaudi','Freud','Poe2')
    years=(1976,1987,1990,2003)
    a=sorted(albums)
    print(type(a),a)
    for album in sorted(albums):
        print(album)
    

    结果:
    <class 'list'> ['Freud', 'Gaudi', 'Poe', 'Poe2']
    Freud
    Gaudi
    Poe
    Poe2

    albums=('Poe','Gaudi','Freud','Poe2')
    years=(1976,1987,1990,2003)
    for i,album in enumerate(albums):
        print(i,album)
    

    结果:
    0 Poe
    1 Gaudi
    2 Freud
    3 Poe2

    albums=('Poe','Gaudi','Freud','Poe2')
    years=(1976,1987,1990,2003)
    c = zip(albums,years)
    print('c is',c,'
    ',type(c),'
    ',list(c))
    for album,yr in zip(albums,years):
        print(yr,album)
    

    结果:
    c is <zip object at 0x0000022CB872E988>
    <class 'zip'>
    [('Poe', 1976), ('Gaudi', 1987), ('Freud', 1990), ('Poe2', 2003)]
    1976 Poe
    1987 Gaudi
    1990 Freud
    2003 Poe2

    albums=('Poe','Gaudi','Freud','Poe2')
    years=(1976,1987,1990,2003)
    b=reversed(albums)
    print(type(b),b)
    for album in reversed(albums):
        print(album)
    

    结果:
    <class 'reversed'> <reversed object at 0x000001918953B358>
    Poe2
    Freud
    Gaudi
    Poe

  • 相关阅读:
    js设置、修改、获取、删除 cookie
    mysql排序让空值NULL排在数字后边
    javascript的函数作用域及声明提前
    修改mysql的密码
    解决thinkphp设置session周期无效的问题
    filter_var() 验证邮箱、ip、url的格式 php
    将中文字符串分割为数组 解决str_split中文乱码php
    生成多个不重复的随机数字php
    javascript控制input只允许输入数字
    推荐开发工具系列之--Clover(文件浏览器)
  • 原文地址:https://www.cnblogs.com/txdblog/p/14230403.html
Copyright © 2011-2022 走看看