Pythonpython

Python基础(四)函数和lambda表达式

2019-09-27  本文已影响0人  鹊南飞_

1. 定义函数和使用函数

函数调用示意图
def 函数名(形参列表):
    // 有零条到多条可执行语句组成的函数
    [return [返回值]]

函数名:应该由一个或多个有意义的单词连缀而成 ,每个单词由多个形参名组成,单词与单词之间由下划线组成
形参列表:由多个形参名组成,多个形参名之间以英文逗号隔开
返回值:可以直接返回多个值,Python会自动将返回值封装成元组
递归函数:自己调用自己的函数,关键的规定为一定要向已知方向进行(即不能进入死循环)


2. 函数的参数

1. 关键字参数

按照形参位置传入的参数被称为位置参数,必须按照定义函数指定的顺序来传入参数值


关键字参数

2. 参数默认值

参数默认值

3. 参数收集(个数可变的参数)

在形参前面加上一个星号(*),意味着可以在调用函数时传入任意多个参数,被当成元组传入。


参数收集

4. 逆向参数收集

在程序已有列表,元组,字典等对象的前提下,将他们的元素拆下来传递给函数的参数。需要在传入的列表前加入一个星号,在字典之前加入两个星号


逆向参数收集

5. 函数的函数传递机制

Python都是值传递,将实际参数的副本(复制品)传入函数,而参数本身不受到任何影响

6. 变量作用域

全局参数,在函数外面,全局范围定义的变量
局部参数,在函数内部定义的变量

  1. 声明全局变量


    全局变量
  2. 声明局部变量


    局部变量

3. 函数的高级内容

1. 使用函数变量

可以将函数赋值给变量


函数变量

2. 使用函数作为函数形参

像使用其他参数一样使用函数参数


函数形参

3. 使用函数作为返回值


4. lambda表达式

语法格式如下:

lambda [parameter_list]: 表达式
  1. 必须使用lambda关键字定义
  2. 冒号左边的是参数列表,可以没有参数,也可以有多个参数(用逗号隔开)
  3. 冒号右边的是返回值
  4. 使代码更简洁
  5. 相对于函数用完立即释放,提高性能
# 函数
def add(x, y):
      return x + y
# lambda
lambda x, y : x + y 

Python既支持面向过程编程,也支持面向对象编程。函数和lamba是Python面向过程的编程基础。

上一篇下一篇

猜你喜欢

热点阅读