函数的作用:函数就是将一段具有独立功能的代码块,整合到一个整体并命名,在需要的位置调用这个名称即可完成对应的需求
函数在开发过程中,可以更高效的实现代码重用
定义函数:def 函数名():
代码1
代码2
调用函数:函数名(参数)
注意:不同的需求,参数可有可无, 在python中,函数必须先定义后使用,先使用后定义会报错
如果没有调用函数,函数里面的代码不会执行
函数执行流程:当调用函数的时候,解释器回到定义函数的地方去执行下方缩进的代码,回到调用函数的地方继续向下执行,定义函数的时候,函数体内部缩进的代码并没有执行
用户要在调用函数的时候指定具体数字,那么在定义函数的时候就需要接收用户指定的数字,函数调用时候就需要接收用户指定的数字,函数调用时候指定的数字和丁函数的时候接收的数字即是函数的参数
定义函数: def add_num1():
result = 1+2
print(result) #resilt = 自定义变量
定义函数时同时定义了接收用户数据的参数a和b,a和b是形参
def add_num2 (a,b):
result = a+b
print(result)
调用函数时传入了真是的数据10和20,真是数据为实参
add_num2(10,20)
参数:可以更灵活的使用函数数据
函数的返回值作用
在函数中,如果需要返回结果给用户需要使用函数返回值。return
def buy():
return‘烟’
使用变量保持函数返回值
goods = buy()
print(goods)
return返回结果给函数调用的地方,它的作用1.负责函数返回值2.退出当前函数:导致return下方的所有代码(函数体内部)不执行
help函数作用:查看函数的说明文档(函数的解释说明的信息)
函数嵌套调用指的是一个函数里面又调用了另外一个函数
2.函数的变量作用域指的是变量生效的范围,主要分为两类:局部变量和全局变量
局部变量是定义在函数体内部的变量,即只在函数体内部生效
def testA():
a=100 testA ()#100
print(a)#会报错
变量a是定义在testA函数内部的变量,在函数外部访问则立即报错
局部的作用:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量
全局变量:指的是函数体内,外都能生效的变量
思考:如果有一个数据,在函数a和b中都要使用,该怎么办?
答:将这个数据存储在一个全局变量里面
#定义全局变量a : a =100
def testA():
print(a)#访问全局数a,并打印变量a存储的数据
def testB():
print(a)#访问全局变量a,并打印变量a存储的数据
testA()#100 testB()#100
修改全局变量:global关键字声明a 是全局变量
总结:如果在函数里面直接a =200赋值,此时的a不是全局修改,而是相当于在函数内部声明了一个新的局部变量
函数体内部修改全局变量:先global声明a为全局变量,然后再变量重新赋值