2020 python学习第十七天————生成器,面向过程,三元表达式,生成式和内置函数

1.1 生成器

  一种自定义的迭代器,是用来返回多次值

    自定义迭代器的好处:节省内存

1.2 yield

  1、可以挂起函数,保存函数的运行状态

  2、可以用来返回多次值

1.3 如何得到生成器(自定义的迭代器)

  函数内但凡存在yield关键字,调用函数不会执行函数体代码,会得到一个返回值,该返回值就是我们自定义的生成器

 

2.1 编程思想

  编程思想就是编写程序的套路,与具体的技术点无关

2.2 面向过程

  核心是过程二字,过程就是解决问题的步骤,即先干啥、再干啥、后干啥

  基于面向过程编程就好比在设计一条条的流水线

    优点:将复杂的问题流程化、进而简单化

    缺点:所有环节耦合到一起,环环相扣,如果要修改某个环境,有可能会牵一发而动全身,扩展性差

 

3.1 三元表达式

def max2(x,y):
    if x > y:
        return x
    else:
        return y

相当于

 x=1
 y=2

res=x if x > y else y
print(res)

 

4.1 列表生成式

l=[]
l = ["x" for i in range(11) if i > 3]

4.2 字典生成式

dic = {"name": "a", "age": 18, "gender": "male", "level": 10}
new_dic = {k+"_": str(v) for k, v in dic.items() if k != "level"}

4.3 集合生成式

s = {i for i in "hello" if i != "l"}

4.4 生成器表达式

res = (i for i in range(5))

 

5.1 abs()

  取绝对值

5.2 all()

  1、传入的可迭代对象取出的值,全真则真,一假则假

  2、如果传入的可迭代对象取不出任何值,默认返回True

5.3 any()

  1、传入的可迭代对象取出的值,一真则真,全假才假

  2、如果传入的可迭代对象取不出任何值,默认返回False

5.4 callable()

  检查一个对象是否是可调用的

5.5 进制

  5.5.1 bin()

    十进制转二进制

  5.5.2 oct()

    十进制转八进制

  5.5.3 hex()

    十进制转十六进制

5.6 divmod

  把除数和余数运算结果结合起来,返回一个包含商和余数的元组

5.7 enumerate

  将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

你可能感兴趣的:(2020 python学习第十七天————生成器,面向过程,三元表达式,生成式和内置函数)