目录
一、函数概述
- 如果在开发程序时,需要某块代码多次,为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。
我们已经接触过多个函数,比如 input() 、print()、range()、len() 函数等等,这些都是 Python 的内置函数,可以直接使用。编程语言中的函数,都可以用下图概括:
- 从实现函数的角度来看,其至少需要想清楚以下 3 点:
函数需要几个关键的需要动态变化的数据,这些数据应该被定义成函数的参数。
函数需要传出几个重要的数据(就是调用该函数的人希望得到的数据),这些数据应该被定义成返回值。
函数的内部实现过程
二、函数的创建和调用
def get_max(num1,num2):
result = num1 if num1 > num2 else num2
return result
max_num = get_max(30,80)
print(max_num)
定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具。定义函数需要用 def 关键字实现
定义一个什么事也不做的空函数,可以用 pass 语句;pass 可以用来作为占位符,还没想好怎么写函数的代码,就可以先放一个 pass ,让代码能运行起来。
调用函数也就是执行函数。如果把创建的函数理解为一个具有某种用途的工具,那么调用函数就相当于使用该工具。
函数调用的基本语法格式: 函数名([形参值])
- 所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果。没有返回值,默认返回None
- 从理论上说,不用函数,也能够编程,我们在前面已经写了程序,就没有写函数,当然,用python的内建函数姑且不算了。现在之所以使用函数,主要是:
降低编程的难度(分而治之的思想)
代码重用。避免了重复劳动,提供了工作效率。
三、变量作用域
1.局部变量
- 局部变量,就是在函数内部定义的变量
- 不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
2.全局变量
- 如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量。
global的本质是声明可以修改全局变量的指向, 即变量可以指向新的数据。
1). 不可变类型的全局变量: 指向的数据不能修改, 不使用global时无法修改全局变量。
2). 可变类型的全局变量: 指向的数据可以修改, 不使用global时可以修改全局变量。
四、函数参数传递
1.形参及实参
- 定义时小括号中的参数,用来接收参数用的,称为 “形参”
- 调用时小括号中的参数,用来传递给函数用的,称为 “实参”
其中,(num1,num2)是形参,(100,211)是实参
def get_max(num1,num2):
return num1 if num1 > num2 else num2
result = get_max