美文网首页我的技术文章
Python_3_控制流和可迭代类型

Python_3_控制流和可迭代类型

作者: 芭比哪吒 | 来源:发表于2018-08-20 11:16 被阅读11次

    3. 控制流和Iterables(适合迭代的对象)

    让我们创建一个变量

    some_var = 5
    

    这是一个if语句,缩进很重要,它是四个空格而不是制表符

    if some_var > 10:
        print("它大于10")
    elif some_var < 10:   
        print("它小余10")
    else:               
        print("它等于10")
    

    For 循环

    for animal in ["dog", "cat", "mouse"]:
        # 你可以使用`format()`来格式化字符串
        print("{}是 哺乳动物".format(animal))
    

    range函数

    range(number)可以创建一个整数列表

    使用的格式:range(下限,上限,步长)

    for i in range(4):
        print(i) #依次输出0,1,2,3
    
    for i in range(4, 8):
        print(i) #依次输出4,5,6,7
    
    range(0, 10, 3)  # 步长为 3 [0, 3, 6, 9]
    

    While 循环

    while x < 4:
        print(x)
        x += 1  # Shorthand for x = x + 1
    

    try/except异常处理

    try:
        # Use "raise" to raise an error
        raise IndexError("这是一个索引错误")
    except IndexError as e:
        pass                 # 无操作
    except (TypeError, NameError):
        pass                 # 可以一起处理多个异常
    else:                    
        print("All good!")   # 仅当try中的代码没有引发异常时才运行
    finally:                 # 可以在这里释放资源
        print("We can clean up resources here")
    

    也可以使用with来保证资源的释放

    with open("Hello.txt") as f:
        for line in f:
            print(line)
    

    Iterable接口对象

    filled_dict = {"one": 1, "two": 2, "three": 3}
    our_iterable = filled_dict.keys()
    print(our_iterable)  
    

    我们可以在循环中迭代它

    for i in our_iterable:
        print(i)
    

    但是却不能使用下标得到它

    our_iterable[1]  # 错误类型 TypeError
    

    利用iter创建可迭代对象

    our_iterator = iter(our_iterable)
    

    使用next()获得下一个对象

    next(our_iterator)  # => "one"
    

    It maintains state as we iterate.

    next(our_iterator)  # => "two"
    next(our_iterator)  # => "three"
    

    无数据元素的迭代引发StopIteration异常

    next(our_iterator)  # Raises StopIteration
    

    通过list得到所有的元素

    list(filled_dict.keys())  # => Returns ["one", "two", "three"]
    

    相关文章

      网友评论

        本文标题:Python_3_控制流和可迭代类型

        本文链接:https://www.haomeiwen.com/subject/komkiftx.html