Python函数
可以降低代码的冗余度,同时也可以给代码阅读者更加清晰的思路
知识点
一.函数
将面向过程的代码变得模块化,能够实现重复调用。
常见函数:input , print , type 等
语法:
- 使用
def
定义函数,def
后面加上函数名变量
,圆括号和冒号
def abc():
-
( )中放形参
向函数内部传参的变量
-
函数内部代码块通常第一行写多行注释,作为解释函数作用的注释。
-
代码块结束以后,使用return将函数内部产生的结果返回到函数外部
-
函数定义完,使用函数时叫做调用函数
-
调用函数时需要在( )中填写’实参‘传递给’形参‘
自定义范围的和
def rangeSum(start, end):
sum = 0
for i in range(start, end + 1):
sum += i
return sum
# 调用函数
print(rangeSum(x, y))
return:
a.能够将函数内部产生的结果返回到函数外部。
b.能够结束函数的执行。
二.函数的参数
1.默认值参数
能够给参数设定一个默认值
默认计算1-100的和
def rangeSum(start=1,end=100):
sum = 0
for i in range(start,end + 1):
sum += i
return sum
print(rangeSum(200,1000))
2.位置参数
形参和实参之间的顺序需要一一对应
3.关键字参数
调用函数时:函数名(形参1=值1,形参2=值2)
rangeSum(start=100,end=1000)
rangeSum(end=1000,start=100)
4.位置参数和关键字参数混用
位置参数必须在前,关键字参数在后
5.不定长参数(带*的变量)
*args
,**kwargs
一个的不定长参数必须放在两个的不定长参数前面
传参 : 一个的不定长参数只能接收"位置参数";两个的不定长参数只能接收关键字参数
不定长参数 : 不定长参数可以一次性传入N个参数(N>=0),可以解决实参和形参数量不一致的问题
*args : 接收位置参数后将所有数据转换为一个元组。
******kwargs : 接收关键字参数后将所有数据转换为一个字典
6.指定参数的
a.给形参赋予默认值,默认值是什么数据类型等于传参的数据类型
b.直接以“: 数据类型
”的形式创建形参
c.在定义函数时使用“ ->数据类型 ” 表明此函数返回什么数据类型
三.全局变量和局部变量
1.全局变量
从变量定义开始到程序结束,整个范围都是全局变量的作用域
2.局部变量
在函数或者类中创建的变量,从函数或类中变量定义开始到函数或类结束,此范围是局部变量的作用域
**作用及意义:**局部变量创建于函数或类中,当函数或类被调用时局部变量才开始创建,当函数或类结束时,局部变量被销毁
3.global and nonlocal(仅了解)
global : 在函数内部修改全局变量
nonlocal : 在函数A的函数B中修改函数A的变量