在工作中为了提高代码编写的效率,通常会把常用的具有独立功能的代码用函数封装起来。
定义函数:组织好的可以重复使用的用来实现单一功能的代码
# 定义函数的格式如下# def 函数名(参数1,参数2,参数3): # 函数体# return 语句
# 函数名:最好是取体现函数功能的名字,一般用小写字母和单下划线、数字等组合def hello():# 参数:根据函数功能,括号里可以有多个参数,也可以不带参数,命名规则与函数名相同# 规范:括号是英文括号,后面的冒号不能丢 print('hello world')# 函数体:函数体就是体现函数功能的语句,要缩进,一般是四个空格 return
调用函数:执行定义好的代码
# 调用函数的格式如下# 函数名()hello()
hello world
函数的参数类型:位置参数、默认参数、不定长参数
•位置参数
# 位置参数def num(x): # x为位置参数 return 2 * x num(3) # 调用函数时有且仅有一个参数X
6
# 位置参数def num(x,y): # x,y为位置参数 return x*ynum(3,3) # 调用函数时,传入的两个值按照位置顺序依次赋值给x,y
9
•默认参数
# 比如经常要计算 x*2,这个时候可以把第二参数设置为2def num(x, y=2): #默认参数需要放在位置参数后 return x*ynum(3)
6
•不定长参数
def calc(numbers): sum = 0 for i in numbers: sum = sum + i*i return sumcalc([1,3,9])calc((1,3,9)) # 在未使用不定长参数时需要先传入list和tuple
91
# 不定长参数:即不确定传递参数的数量,格式比较特殊,是一个星号 * 加上参数名def calc(*numbers): sum = 0 for i in numbers: sum = sum + i*i return sumcalc(1,3,9)
91
num = [1,3,9] # 也可以先放一个list,在把list作为可变参数放进去def calc(*numbers): sum = 0 for i in numbers: sum = sum + i * i return sumcalc(*num)
91
•返回值
return 语句
- 如果不是立即要对返回值做操作,那么可以使用 return 语句保留返回值 ;
- 需要多次调用函数时,可以在定义一个主函数 main(),调用非主函数的返回值 ;
- Python 的函数返回值可以是多个,多个返回值的数据类型数元组 ;
- 没有 return 语句的函数默认为 None 值 ;
- 一旦函数内部遇到 return 语句,就会停止执行并返回结果。你可以运行下列的代码。
# 比较大小def Max_num(a,b): if a>b: return a elif a==b: return '一样大' else: return bprint(Max_num(22,33))
33
