Python 函数
函数是一个被命名的、独立的、完成特定功能的可重复使用的代码段,其可能给调用它的程序一个返回值。
被命名的:在Python中,大部分函数都是有名函数
完成特定功能的代码段:函数的功能要专一,专门为了完成某个功能而定义
返回值:当函数执行完毕后,其可能会返回一个值给函数的调用处
函数的结构:
def 函数名 (参数1,参数2):
函数体
return是返回值
参数:可选 ,return:可选,默认为none
函数:用def语句
1:依次是函数名、括号、括号中的参数和冒号;
2:然后在缩进块中编写函数体
3:函数的返回值用return语句返回,一旦执行到return时,函数就执行完毕
函数调用
![](/i/l/?n=22&i=blog/1518290/202211/1518290-20221116115019986-976782445.png)
![](/i/l/?n=22&i=blog/1518290/202211/1518290-20221116115109240-986497826.png)
数据流转: 调用 hello函数-----把 student=‘李四’作为参数传给函数的函数体-----即 print(f'{student}你好啊')
return 语句
return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。
变量作用域
变量作用域:指的是变量的作用范围(变量在哪里可用,在哪里不可用),主要分为两类:局部变量和全局变量。
全局变量和局部变量
局部变量:只能在其被声明的函数内部访问,
全局变量:可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。如下实例:
total = 0; # 这是一个全局变量
def sum(arg1, arg2):
total = arg1 + arg2; # total在这里是局部变量.
print("函数内是局部变量 : ", total)
return total;
sum(10, 20)
print("函数外是全局变量 : ", total)
![](/i/l/?n=18&i=blog/1518290/201810/1518290-20181026161851765-1540205062.png)
global 关键字声明a是全局变量
![](/i/l/?n=22&i=blog/1518290/202211/1518290-20221116134741504-1528344540.png)
![](/i/l/?n=22&i=blog/1518290/202211/1518290-20221116134751442-75097325.png)
位置参数:调用函数时根据函数定义的参数位置来传递参数。 缺省参数:也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)。 不定长参数:也叫可变参数。用于不确定调用的时候会传递多少个参数(不传参也可以)的场景。可用包裹(packing)位置参数,或者包裹关键字参数 包裹位置传递:传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型,这就是包裹位置传递。
![](/i/l/?n=22&i=blog/1518290/202211/1518290-20221116135627078-981415308.png)
![](/i/l/?n=22&i=blog/1518290/202211/1518290-20221116135642305-619406153.png)
高阶函数:把函数作为参数传入,这样的函数称为高阶函数
`abs()`函数可以完成对数字求绝对值计算。
round()`函数可以完成对数字的四舍五入计算。
需求:任意两个数字,按照指定要求整理数字后再进行求和计算。
内置高阶函数map()