Python语言的高级特性
函数式编程(FunctionalProgramming)
-
基于lambda演算的一种编程方式
- 程序中只有函数
- 函数可以作为参数,同样可以作为返回值
- 纯函数式编程语言: LISP, Haskell
-
Python函数式编程只是借鉴函数式编程的一些特点,可以理解成一半函数式一半Python
- 需要讲述
- 高阶函数
- 返回函数
- 匿名函数
- 装饰器
- 偏函数
装饰器(Decrator)
- 在不改动函数代码的基础上无限制扩展函数功能的一种机制,本质上讲,装饰器是一个返回函数的高阶函数
- 装饰器的使用: 使用@语法, 即在每次要扩展到函数定义前使用@+函数名
# 任务:
# 对hello函数进行功能扩展,每次执行hello万打印当前时间
import time
# 高阶函数,以函数作为参数
def printTime(f):
def wrapper(*args, **kwargs):
print("Time: ", time.ctime())
return f(*args, **kwargs)
return wrapper
# 上面定义了装饰器,使用的时候需要用到@, 此符号是python的语法糖
@printTime
def hello():
print("Hello world")
hello()
Time: Thu Aug 30 23:08:21 2018 Hello world
# 装饰器的好处是,一点定义,则可以装饰任意函数
# 一旦被其装饰,则则把装饰器的功能直接添加到定义函数的功能上
@printTime
def hello2():
print("今天很高兴,被老板揪着讲课了")
print("还可以由很多的选择")
hello2()
Time: Thu Aug 30 23:13:21 2018 今天很高兴,被老板揪着讲课了 还可以由很多的选择
装饰器函数日后再细细研究