Python3 流程控制和迭代器

# 先随便定义一个变量
    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"]

 

时间: 2024-10-18 10:07:01

Python3 流程控制和迭代器的相关文章

python3 流程控制

表达式if ... else >>> if 3 > 4: ... print('False') ... else: ... print('True') ... True 表达式if ... elif...else >>> a = 10 >>> if a > 15: ... print("ok") ... elif a < 15: ... print("good") ... else: ... p

python3之控制流程(if,while,for)

                                  python3之控制流程 1.流程控制: if(判断真假):          如果是真执行(缩进) else:          如果是假执行 2.逻辑控制: x = raw_input('please enter you name ') y = raw_input('please enter you age ') if x == 'lupeng':          ify == '24'                  

python之流程控制与运算符

第一:流程控制 一:if条件语句 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 单分支语句: 单分支,单个条件 age = 20 if age >= 18: print('your age is ',age) print('if 判断语句是true') 结果: your age is 20 if 判断语句是true 单分支,多个条件 age = 20 if age >= 18 and age < 19: print('your age is ',age) print('i

Python基础(二)变量、流程控制

一,变量 声明变量:name="Henry"   ##变量名为:name ,变量name的值为"Henry" 变量的作用:昵称,其代指内存里某个地址中保存的内容. 变量的定义规则: 变量名只能是字母.数字或下划线的任意组合. 变量名的第一个字符不能是数字. 特殊关键字不能声明为变量名(例如:'and','list','not','for','while'.........) 为了更清楚的搞清变量在内存中的位置,下面举个例子进行说明: 1 >>> x

异步流程控制-7行代码学会co模块

首先请原谅我的标题党(●-●),tj 大神的 co 模块源码200多行,显然不是我等屌丝能随便几行代码就能重写的.只是当今大家都喜欢<7天学会xx语言>之类的速效仙丹,于是我也弄个类似的名字<7行代码学会co模块>来博眼球. 为了避免被拖出去弹小JJ,还是先放出所谓的 7 行代码给大家压压惊: function co(gen) { var it = gen(); var ret = it.next(); ret.value.then(function(res) { it.next(

Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)

一.字符串常用操作 #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格) name='*egon**' print(name.strip('*'))#移除 name 变量对应的值两边的*,并输出处理结果 print(name.lstrip('*'))#移除 name 变量左边的*,并输出处理结果 print(name.rstrip('*'))#移除 name 变量右边的*,并输出处理结果 #startswith,endswith name='alex_SB' print

Python(输入、输出;简单运算符;流程控制)

一 输入输出 python3中统一都是input,python2中有raw_input等同于python3的input,另外python2中也有input 1.res=input("python3: ") 2.res=raw_input("python2: ") 3.res=raw_input("python2: ") 1,2无论接收何种输入,都被存为字符串赋值给res,而3的意思是,用户输入何种类型,就以何种类型赋值给res #!/usr/bi

Java基础&mdash;Java流程控制

IsCoder 标记: Java选择结构,Java循环结构 Java流程控制 运算符 隐式与显式转换 选择结构 循环结构 循环结束控制 一.Java运算符 1.1 基本运算符 基本运算符,包括四则运算符:加/减/乘/除.另外包括,取余运算符%. 1.2 复合运算符 复合运算符,是基本运算符与赋值运算符结合的运算符.包括:+=,-=,*=,/+,%=,值得指出的一点是,复合运算符隐含强制类型转换. 1.3 逻辑运算符 逻辑运算符包括6个运算符,逻辑与&,逻辑或|,逻辑非!,逻辑异或^,双与&

Nodejs - 框架类库 - Nodejs异步流程控制Async

简介 Async是一个流程控制工具包,提供了直接而强大的异步功能 应用场景 业务流程逻辑复杂,适应异步编程,减少回调的嵌套 安装 npm insatll async 函数介绍 Collections each: 如果想对同一个集合中的所有元素都执行同一个异步操作. 1 var async = require('async'); 2 3 var t = require('./t'); 4 var log = t.log; 5 6 /** 7 * 8 * async提供了三种方式: 9 * 1. 集