单元开篇:

函数定义和使用

1、函数的定义和调用。

2、函数的参数传递

3、局部变量和全局变量

4、lambda函数(匿名函数)

5、函数递归

函数相关的保留字

def 声明函数

 return 

global(全局变量)

lambda 匿名函数

python如何定义多个变量 python定义多变量函数_python如何定义多个变量

 python中函数没有写特定的返回值类型

 

python函数定义的注意事项:

1、默认情况下,函数不需要类型声明。

2、默认情况下,函数返回值不需要类型声明。

3、参数和返回值可以为0个或者多个。

在c、c++语言中限定函数的返回值,是为了限定函数对内存的使用。

python如何定义多个变量 python定义多变量函数_匿名函数_02

python如何定义多个变量 python定义多变量函数_全局变量_03

函数可以没有参数,也可以没有,但是必须保留括号 

 Python函数参数传递的4个方面

  1. 位置传递和名称传递
  2. 可选参数传递
  3. 可变参数传递:元祖形式和字典形式
  4. 多个返回值

python如何定义多个变量 python定义多变量函数_保留字_04

python如何定义多个变量 python定义多变量函数_保留字_05

 

python如何定义多个变量 python定义多变量函数_匿名函数_06

  //  整除符号 

python如何定义多个变量 python定义多变量函数_保留字_07

 可变参数:函数可以接受不确定总数的参数变量。

*b 这样是元祖形式

**d 这样写是字典形式,里面是一个一个键值对。

python如何定义多个变量 python定义多变量函数_匿名函数_08

 这时b是一个元祖 b = (3,5,8)

python如何定义多个变量 python定义多变量函数_全局变量_09

   函数参数是**d  那么 d={a:3,b:4,c:8}是一个字典,里面是键值对。

函数可返回0个或者多个结果

  1. return保留字用来传递返回值,或表示函数结束。
  2. 函数可以有返回值,也可以没有,可以有return,也可以没有。
  3. return可以传递0个返回值,也可以传递任意多个返回值。

 

python如何定义多个变量 python定义多变量函数_保留字_10

当函数返回多个值时,函数会默认将返回的多个值组成一个元祖再返回。

python如何定义多个变量 python定义多变量函数_匿名函数_11

python如何定义多个变量 python定义多变量函数_匿名函数_12

 

python如何定义多个变量 python定义多变量函数_全局变量_13

python如何定义多个变量 python定义多变量函数_python如何定义多个变量_14

在函数中并没有声明ls,在这种情况下,函数默认会到全局变量中去寻找ls

这是因为python语言在调用函数时,它会将组合数据类型的引用放到函数的调用中,实际上变量ls的引用会关联到全局变量上。

python如何定义多个变量 python定义多变量函数_全局变量_15

 

使用规律总结:

  • 基本数据类型,无论是否重名,局部变量与全局变量不同。
  • 可以通过global保留字在函数内部声明全局变量
  • 组合数据类型,如果局部变量没有真实创建,则是全局变量。 

 

 lambda函数

  1.  lambda函数返回函数名作为结果
  2. lambda函数是一种匿名函数,机没有名字的函数。
  3. 使用lambda关键字定义,函数名是返回结果。
  4. lambda函数用于定义简单的,能够在一行内表示的函数。

python如何定义多个变量 python定义多变量函数_全局变量_16

 

python如何定义多个变量 python定义多变量函数_保留字_17

递归的定义: 

python如何定义多个变量 python定义多变量函数_匿名函数_18

 

python如何定义多个变量 python定义多变量函数_python如何定义多个变量_19

python如何定义多个变量 python定义多变量函数_匿名函数_20

将字符串的第一个字符放到最后,从第二个字符开始继续递归。

python如何定义多个变量 python定义多变量函数_保留字_21

 

 

python如何定义多个变量 python定义多变量函数_匿名函数_22

 

python如何定义多个变量 python定义多变量函数_全局变量_23