Python学习日志(三)—— 函数

一、功能

1.最大化代码重用

2.最小化冗余

二、应用

1.声明和调用

        注:执行时记忆不同于JAVA等静态编码语言,当写好的函数或方法编译成功时,函数既已存在;

        而在Python中,动态解释型脚本语言执行至该行才会执行,否则不会被定义。

2.返回值

三、作用域

四、参数

五、Lambda 表达式

1.表达式而非语句

2.函数主体为单一表达式,而非语句块

3.优势

        (1)函数嵌套更加便捷

        (2)替代实现多重分支

x, y = 5, 3

# operator = 'add'

# operator = input('operator = ')

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b
# 1一般方法
# if operator == 'add':
#     print(add(a, b))
# elif operator == 'sub':
#     print(subtract(a, b))

# 2优势方法
action = {
    'a': add,
    's': subtract,
    'm': lambda a, b: a * b,
    'd': lambda a, b: a / b,
}

# print(action['m'](x, y))            # 直接获取键值
print(action.get('f', add)(x, y))     # 利用get函数获取键值,优势:输入的键不存在不会报错,同时可以写入默认值

        其中的add函数即委托函数

(3)作为回调函数处理句柄列便捷

# 作为回调函数处理句柄列便捷
# 需求:根据输入的操作符的不同执行相应的操作
x, y = 5, 3


def add(a, b):
    return a + b


def subtract(a, b):
    return a - b


def calcuate(a, b, func):
    return func(a, b)


print(calcuate(x, y, subtract))print(calcuate(x, y, lambda a, b: a * b))

六、函数工具

1.编程语言

        主流的编程语言范式包括:

  1.  面向过程:常见的C,特性是基于一些基本的语句
  2.  面向对象:如C++,Java,PHP等
  3.  函数式编程:Lisp

        而Python这三种均支持。

2.工具函数

  1. 映射操作可迭代对象 map()
  2. 从可迭代对象中选择过滤项   filter()
  3. 合并迭代项   functools.reduce()

猜你喜欢

转载自blog.csdn.net/jie_momo/article/details/81604282
今日推荐