10.函数
什么是函数.其就是将一段具有独立功能的代码块整合为一个整体,然后方便重复调用
格式如下:
def 函数名(参数):
其必须要先定义再使用
一个基本的函数如下,就是接收输入的参数,然后相加后打印
def add_num(a,b):
result = a+b
print(result)
函数同样也可以有返回值,比如计算完成的结果,可以返回给上层函数
def add_num(a,b):
return a + b
对于声明后的函数,如何快速提示这个函数的作用?
利用注释和说明文档,对于函数的说明文档
使用格式如下
def test_sum(a,b):“”””用于测试函数“””return a+b |
使用就直接 help(函数名)即可
函数的嵌套执行
就是一个函数中调用了另一个函数
其执行流程就是A -> B B执行完成后返回到A的调用位置,进行下一步操作
稍微总结一下,函数的作用是封装代码,高效调用
函数可以有参数和返回值
对于参数,分为了形参和实参 形参是方便函数定义的,实参是调用时真正的参数
对于返回值,函数调用后返回需要的计算结果
接下来我们说一下函数中存在的变量,分为了局部变量和全局变量
局部变量是定义再函数体内部的变量,函数体内部生效
在函数调用完成后,就销毁局部变量
全局变量
全局变量是指的函数体内外都能生效的变量
其声明的方式如下:
a = 100
def testA()
但是如果想要修改全局变量,该怎么办
尝试下面的调用了
def testA():
a = 200
print(a)
会发现修改的还是本地的,想要修改全局的,需要加上关键字global
def testB():
global a
a = 200
print(a)
接下来说一下函数的返回值,
如果一个函数有多个return,程序如何执行?
def return_num():
return 1
return 2
如果上面的代码执行,会发现只返回一个1 ,只执行了第一个return,后面的return不执行
如果需要多个返回值,可以书写为如下的代码
def return_num():
return 1,2
result = return_num()
print(result)
对于python中的函数参数,也是分为了很多的类型,包含位置参数 关键字参数 缺省参数 不定长参数
1.位置参数:
默认的参数,根据定义的参数位置来传递参数值
def user_info(name,age,gender)
user_info(‘Tom’,22,’男’)
2.关键字参数
利用键 = 值的形式进行制定,可以让参数更加清晰,也规定的参数的顺序
调用的时候,如果有位置参数的时候,位置参数必须要在关键字参数的前面,但是关键字参数之间不存在先后顺序
3.缺省参数
默认参数,提供默认值,在参数不传的时候提供默认的值,包括函数定义和调用
def user_info(name,age,gender=’男’)
4.不定长参数
不定长参数也叫可变参数,用于不确定调用的时候会传递多少个参数,
可以使用包裹位置参数来进行传递
使用包裹位置传输的代码如下
def user_info(*args)
在函数内部,会作为一个元组进行传递
当然,我们可以指定为包裹关键字进行传递
def user_info(**kwargs):
print(kwargs)
使用起来是
user_info(name=’Tom’)
5.之后是相关的拆包和交换变量值
对于元组的拆包,可以如下的使用
num1,num2 = (100,200)
6.交换变量值
第一种方法,利用第三变量存储数据
第三变量存储数据
c = 0
c =a
a = b
b = c
或者使用
a,b = 1,2
a,b = b,a