Python:进阶操作(1)

这份博客是个人的学习笔记以及总结,观看课程为廖雪峰在慕课上发布的《python》进阶。

一些关于python的基础操作以及安装,可以参考我之前的文章。

这份课程一开始会回顾之前学过的东西:

之前学过的有以下几点:

1python内置的基本类型 变量

2LIst 和turple 顺序的集合类型

3条件判断和循环

4dictheset :根据key访问的集合类型。

5函数

6切片

7迭代

8列表生成式

二本周课程目录:

1函数式编程

2模块使用。

3面向对象编程

4定制类

三学习目标

掌握函数式和面向对象以及模块化编程

四课程开始

4.1函数式编程概念:

functional 抽象的编程模式。 更高的抽象等级

语言层级对语言调用的影响。

4.2特点

1计算视为函数而非指令

2纯函数式编程,不需要变量。

3支持高阶函数,代码简洁。

4.3 python支持的

1不是纯函数时编程,支持高阶函数和闭包,有限支持匿名函数。

4.4高阶函数的概念

直接调用函数,和使用变量的效果一样。

可以修改库函数的内涵。

高阶函数:将函数作为参数的函数。(数分里的算子)

demo:

def add(a,b,c):

return c(x)+c(y)

add( 1,9,abs)

高阶函数的例子

五练习时间

题目1

编写一个简单的高阶函数,实现

输入 x和y得到 根号(x)加根号(y)

解答:

import math
def add(x,y,f):
return f(x)+f(y)
print (add(25,9,math.sqrt))

题目2

编写一个map映射程序实现将输入的字符串首字母大写其他字母小写的功能。

example for map

def f(x):

return x*x

print(list(map(f,[1,2,3,4,5,6,7,8,9])))

输出结果为

[1,4,9,16,25,36,49,64,81]

解答:

def format_name(s):

    return s.capitalize()

print(list(map(format_name,[‘adam’,’LISA’,’barT’])))

题目3

reduce函数的使用,reduce函数和map函数一样是个高阶函数,

区别在于,reduce会对列表里面的参数反复调用。

要求编写一个函数实现连乘。

example:

from functools import reduce
def f(x,y):
return x+y

print(reduce(f,[1,3,5,7,9]))

输出结果为:25

解答:

from functools import reduce
def f(x,y):
return x*y
print(reduce(f,[2,4,5,7,12]))

题目4

filter()函数的使用,该函数是python内置的另一个有用的高阶函数,filter()函数接受一个函数f和一个list()

这个函数f的作用是对每个元素进行判断,返回true或者false,filter()根据判断结果自动过滤掉不符合条件的元素

,返回由符合条件元素组成的新list。

example:

def is_not_empty(s):
return s and len(s.strip())>0
print(list(filter(is_not_empty,[‘test’,None,”,’str’,”,’END’])))

猜你喜欢

转载自blog.csdn.net/lvsehaiyang1993/article/details/80610257