美文网首页Python自动化测试
流程控制和迭代器

流程控制和迭代器

作者: ThinkerLing | 来源:发表于2019-10-10 13:20 被阅读0次
# 先随便定义一个变量
some_var = 5

# 这是个if语句。注意缩进在Python里是有意义的
# 印出"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))

# => dog is a mammal
# => cat is a mammal
# => mouse is a mammal

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

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

# 用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)
# => dict_keys(['one', 'two', 'three']),是一个实现可迭代接口的对象

# 可迭代对象可以遍历
for i in our_iterable:
    print(i)    # 打印 one, two, three

# 但是不可以随机访问
# our_iterable[1] # 抛出TypeError
#如果需要取出某一个值可以将集合转换成列表
print(list(our_iterable)[1])
# => two

# 可迭代对象知道怎么生成迭代器
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"]

相关文章

  • lx4.shell2

    shell2 shell函数 字符隔断和迭代器 IFS 流程控制 循环

  • 流程控制和迭代器

  • Python-简介-学习路线

    第一阶段:Python入门 数据类型流程控制常用模块函数、迭代器、装饰器递归、迭代、反射面向对象编程更高级的技能就...

  • 5、迭代器实现

    闭包实现迭代器 迭代函数实现迭代器 --1,调用迭代函数,(把状态变量和控制变量当做参数传递给迭代函数) 状态变...

  • 跟诸子学游戏 Lua基础

    1:使用闭包创建迭代器 2:泛型for保存状态变量和控制变量,将状态变量传入迭代器,进行迭代,这个属于无状态迭代器...

  • 经典教程|10 分钟速成 Python3

    这篇教程是基于 Python 3 写的。 1. 原始数据类型和运算符 2. 变量和集合 3. 流程控制和迭代器 4...

  • ES6 ES7 语法特性与规范

    生成器函数 说生成器之前先讲迭代器,下面就是迭代器的简单范例,迭代器代表一个流程,迭代器的每次next()调用,会...

  • 10.Python编程:迭代器和生成器

    前面介绍了python中的条件判断和循环控制。而在循环控制中,还有一个比较重要的迭代器。迭代也叫遍历,迭代是Pyt...

  • 目录

    程序执行流程 注释 数据类型 变量 输入与输出 基本运算符 控制流 数值 字符串 列表 元组 字典 集合 迭代器 ...

  • 第四章笔记《Thinkinng in JAVA》

    第四章 控制执行流程 4.1 true和false 4.2 if-else 4.3 迭代 while、do-whi...

网友评论

    本文标题:流程控制和迭代器

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