函数的定义和调用
含义:是组织好的,可重复利用的,用来实现特定功能的代码段。
函数的定义:
def 函数名(传入参数):
函数体
return 返回值
函数的调用:
函数名(参数)
注:
函数必须先定义后使用。
参数如不需要,可省略。
返回值如不需要,可省略。
#定义函数
def Hi():
print("2023年快乐")
print("天天开心")
Hi()#调用
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/60cc8a1820b3a56ccd058266f698a75b.png)
函数的参数
传入参数的功能:在函数进行计算的时候,接受外部(调用时)提供的数据。
def add(x, y):
result = x + y
print(f"{x}+{y}={result}")
add(1, 2)#调用函数
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/2edfc7ca7dd578dc48ae05e966af9e06.png)
注:
函数定义中,提供的x和y,称之为:形式参数(形参),表示函数声明将要使用2个参数。
函数调用中,提供的1和2,称之为:实际参数(实参),表示函数执行时真正使用的参数值
参数之间使用逗号进行分隔。
传入参数要和形式参数一一对应。
函数的返回值
基本格式:
def 函数名(参数):
函数体
return 返回值
变量 = 函数(参数)
def add(x, y):
result = x + y
return result
s = add(1, 2)
print(s)
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/6094b77bf14939b9bc90b2f2bb5c978c.png)
由运行结果可以看到result的值返回给s了。
注:
函数体遇到return就结束了,写在return之后的语句不执行。
无返回值的函数,返回的内容是:None。若用在if中等同于False。
函数的嵌套调用
就是在一个函数里面又调用了另一个函数。
# 定义函数
def demo1():
print("·····1·····")
def demo2():
print("·····2·····")
demo1()
print("·····3·····")
# 调用函数
demo2()
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/08ca11592430b1851524e0871795ecd5.png)
注:
若在函数A中调用函数B的语句,会将函数B全部执行完成后,继续执行函数A的剩余内容。
局部变量
局部变量是定义在函数体内部的变量,即只在函数体内部生效。
局部变量的作用:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量。
![](https://i-blog.csdnimg.cn/blog_migrate/08dbeb5590e93cc8efb32c5d849bbc00.png)
全局变量
全局变量是定义在函数外部的变量,在函数体内、外都能生效的变量。
![](https://i-blog.csdnimg.cn/blog_migrate/73cf094a65892fcc1f681f1cb2acaa67.png)
global关键字
global关键字 可以在函数内部声明变量为全局变量
![](https://i-blog.csdnimg.cn/blog_migrate/f7e03e5eee5082b37c6b6e23d8b543d1.png)