文章目录
一、定义
1、语法
def 函数名( ):
函数体
二、属性
1、函数在内存中准备好的代码,不会自动执行,只有手动调用时才执行,调用方式:函数名+括号;
2、函数是语句的封装;
3、函数声明时,在括号内传递参数,我们称之为形式参数(形参),只起到占位的作用;
4、函数调用时,传入的参数,我们称之为实际参数(实参)
三、操作
1、函数的参数
- 1)参数
# 1、定义一个函数,传入两个数字,求两个数的最大值,并打印
def pr_max(a, b):
x = a if a > b else b
print(x)
pr_max(34, 2)
# 2、定义一个函数,传入两个数字,求两个数的和,并打印
def pr_sum(a, b):
print(a + b)
pr_sum(2, 3)
# 3、定义一个函数,传入一个列表,执行完这个函数以后,列表就变成有序的了
def sort_list(L):
L.sort()
nums = [8, 0, 1, 2, 9, 5, 4] # 值的传递都是内存地址的传递
sort_list(nums)
print(nums)
- 2)可变参数
参数的个数不固定,就可以称为可变参数;
在python里有两种可变参数,*args、**kwargs;
*args:可变参数,它是把参数以元组的形式保存;
**kwargs:可变参数,它是把参数以字典的形式保存;
# 1、求任意长度个数的数字之和
def demo(a, b, *args):
result = a + b
for arg in args:
result += arg
return result
print(demo(1, 2))
print((demo(1, 2, 3)))
- 3)缺省参数
在函数声明时,定义形参并给形参设置一个默认值,这种参数可以称之为缺省参数;
如果有缺省参数,缺省参数要放在非缺省参数的后面;
def demo(a, b, x='hello'):
print('a========>{}'.format(a))
print('b========>{}'.format(b))
print('x========>{}'.format(x))
demo('good', 12)
demo(100, 'yes', 'xxx')
demo(x='mmm', a=100, b='ssss')
- 4)可变参数和缺省参数同时出现
位置参数必须要放在关键字参数的前面
def demo(a, b, *args, x='hello', y='nice',**kwargs):
print('a========>{}'.format(a))
print('b========>{}'.format(b))
print('args========>{}'.format(args))
print('x========>{}'.format(x))
print('y========>{}'.format(y))
print('kwargs========>{}'.format(kwargs))
# 位置参数必须要放在关键字参数的前面
demo(12, 23,