python高级特性浅谈

1、集合的推导式

•列表推导式,使用一句表达式构造一个新列表,可包含过滤、转换等操作。

语法:[exp for item in collection if codition]

if codition - 可选

python高级特性浅谈_第1张图片

•字典推导式,使用一句表达式构造一个新列表,可包含过滤、转换等操作。

语法:{key_exp:value_exp for item in collection if codition}

•集合推导式

语法:{exp for item in collection if codition}

•嵌套列表推导式

python高级特性浅谈_第2张图片

2、多函数模式

函数列表,python中一切皆对象。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

# 处理字符串

str_lst = ['$1.123', ' $1123.454', '$899.12312']

def remove_space(str):

  """

  remove space

  """

  str_no_space = str.replace(' ', '')

  return str_no_space

def remove_dollar(str):

  """

  remove $

  """

  if '$' in str:

    return str.replace('$', '')

  else:

    return str

def clean_str_lst(str_lst, operations):

  """

    clean string list

  """

  result = []

  for item in str_lst:

    for op in operations:

      item = op(item)

    result.append(item)

  return result

clean_operations = [remove_space, remove_dollar]

result = clean_str_lst(str_lst, clean_operations)

print result

执行结果:['1.123', '1123.454', '899.12312']

3、匿名函数lambda

•没有函数名
•单条语句组成
•语句执行的结果就是返回值
•可用作sort的key函数

python高级特性浅谈_第3张图片

python高阶函数

1、函数式编程

•函数本身可以赋值给变量,赋值后变量为函数;

•允许将函数本身作为参数传入另一个函数;

•允许返回一个函数。

python高级特性浅谈_第4张图片

python高级特性浅谈_第5张图片

你可能感兴趣的:(Python高级特性)