码迷,mamicode.com
首页 > 编程语言 > 详细

Python3 流程控制和迭代器

时间:2017-05-31 10:28:19      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:访问   led   ror   while循环   span   nbsp   key   接口   mouse   

# 先随便定义一个变量
    some_var = 5

# 用if语句打印出"some_var比10小"。
    if some_var > 10:
        print("some_var比10大")
    elif some_var < 10:    # elif句是可选的
        print("some_var比10小")
    else:                  # else也是可选的
        print("some_var就是10")

"""
#用for循环语句遍历列表
 打印:
    dog is a mammal
    cat is a mammal
    mouse is a mammal
"""
    for animal in ["dog", "cat", "mouse"]:
        print("{} is a mammal".format(animal))

"""
#"range(number)"返回数字列表从0到给的数字
 打印:
    0
    1
    2
    3
"""
    for i in range(4):
        print(i)

"""
#while循环直到条件不满足
 打印:
    0
      1
     2
      3
"""
    x = 0
    while x < 4:
        print(x)
        x += 1  # x = x + 1 的简写

# 用try/except块处理异常状况
    try:
        # 用raise抛出异常
        raise IndexError("This is an index error")
    except IndexError as e:
        pass    # pass是无操作,但是应该在这里处理错误
    except (TypeError, NameError):
        pass    # 可以同时处理不同类的错误
    else:   # else语句是可选的,必须在所有的except之后
        print("All good!")   # 只有当try运行完没有错误的时候这句才会运行

# Python提供一个叫做可迭代(iterable)的基本抽象。一个可迭代对象是可以被当作序列
# 的对象。比如说上面range返回的对象就是可迭代的。

    filled_dict = {"one": 1, "two": 2, "three": 3}
    our_iterable = filled_dict.keys()
    print(our_iterable) # => range(1,10) 是一个实现可迭代接口的对象

# 可迭代对象可以遍历
    for i in our_iterable:
        print(i)    # 打印 one, two, three
    
# 但是不可以随机访问
    our_iterable[1]  # 抛出TypeError

# 可迭代对象知道怎么生成迭代器
    our_iterator = iter(our_iterable)

# 迭代器是一个可以记住遍历的位置的对象
# 用__next__可以取得下一个元素
    our_iterator.__next__()  #=> "one"

# 再一次调取__next__时会记得位置
    our_iterator.__next__()  #=> "two"
    our_iterator.__next__()  #=> "three"

# 当迭代器所有元素都取出后,会抛出StopIteration
    our_iterator.__next__() # 抛出StopIteration

# 可以用list一次取出迭代器所有的元素
    list(filled_dict.keys())  #=> Returns ["one", "two", "three"]

 

Python3 流程控制和迭代器

标签:访问   led   ror   while循环   span   nbsp   key   接口   mouse   

原文地址:http://www.cnblogs.com/cvnj/p/6921898.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!