python基础- 面向过程编程, 三元表达式, 列表生成式, 生成式生成式, 匿名函数

面向过程编程

面向过程编程是一门编程思想。

面向 过程 编程:
核心是 '过程' 二字,过程 指的是一种解决问题的步骤,即先干什么再干什么
基于该编程思想编写程序,就好比在设计一条工厂流水线,一种机械式的思维方式。

  • 优点:

    • 将复杂的问题流程化,进而简单化
  • 缺点:
    -若修改当前程序设计的某一部分,会导致他部分同时需要修改, 扩展性差。

三元表达式

三元表达式:
可以将if...else...分支变成一行。

  • 语法:
    • 条件成立返回左边的值 if 判断条件 else 条件不成立返回右边的值
def func(x, y):
    res = x if x >y else y
    return res

列表生成式

  • 可以一行实现生成列表。
  • 语法:
    • list = [取出的每一个值、任意值 for 可迭代对象中取出的每一个值 in 可迭代对象]

    • for的右边是循环次数,并且可以取出可迭代对象中每一个值

    • for的左边可以为当前列表添加值
      list = [值 for 可迭代对象中取出的每一个值 in 可迭代对象]

    • list = [值 for 可迭代对象中取出的每一个值 in 可迭代对象 if 判断]
      示例


list1 = [f'1{line}' for line in range(1, 101)]
print(list1)

生成器表达式(生成器生成式):

  • 列表生成式: 若数据量小时采用
    [line for line in range(1, 6)] ---> [1, 2, 3, 4, 5]

    • 优点:
      可以依赖于索引取值,取值方便

    • 缺点:
      浪费资源

  • 生成器生成式: 若数据量过大时采用
    () ---> 返回生成器
    (line for line in range(1, 6)) ---> g生成器(1, 2, 3, 4, 5)

    • 优点:
      节省资源
    • 缺点:
      取值不方便
# 生成一个有1000个值的生成器
g = (line for line in range(1, 1000001))
# <generator object <genexpr> at 0x00000203262318E0>
print(g)
# 列表生成式实现
list1 = [line for line in range(1, 1000001)]
print(list1)

匿名函数:

无名字的函数

  • 左边是参数, 右边是返回值

  • lambda :

  • PS: 原因,因为没有名字,函数的调用 函数名 ()
    匿名函数需要一次性使用。

  • 注意: 匿名函数单独使用毫无意义,它必须配合 “内置函数” 一起使用的才有意义。

有名函数:
有名字的函数
'''

posted @ 2019-11-17 23:13  七里塘  阅读(83)  评论(0编辑  收藏  举报