函数的初始
- 函数是对功能的一个封装 你能想到的任何一个功能, 都可以封装成函数
函数的语法
def 函数名():
函数体
函数名() 函数调用
案例:
def yue():
print('打开手机')
print('打开陌陌')
print('搜索心仪的对象')
print('出去玩')
print('出发')
yue()
函数的返回值
return 在函数执行的时候, 遇到return 直接返回
1, 如果函数里面什么都不写,不写return 代表没有返回值 返回None
2, 如果函数中间或者末尾写return 返回None 可以终止一个函数的执行
3, 在函数中写 return 值, 代表返回一个值
4, 在函数中可以返回多个返回值 return 值1,值2,值3, 接收的是元组
案例
def yue():
print('打开手机')
print('打开陌陌')
print('搜索心仪的对象')
print('出去玩')
print('出发')
return 10086
函数的参数
函数执行的时候给函数传递信息
形参: 在函数声明的位置的变量
实参: 在函数调用的地方的具体的值
传参: 把实参交给形参的过程
案例:
def yue(tools):
print('打开手机')
print('打开 %s' %(tools))
print('搜索心仪的对象')
print('出去玩')
print('出发')
return 10086
yue('微信')
实参:
位置参数:
按照形参的参数位置,往形参传值
当函数的参数很多的时候, 必须要记住每个位置
def qiaoning(a,b,c,d):
print(a,b,c,d)
qiaoning(1,2,3,4) #1 2 3 4
关键字参数:
按照形参的名字给形参传值
def qiaoning(a,b,c,d):
print(a,b,c,d)
qiaoning(a=1,c=3,b=2,d=4) #1 2 3 4
混合参数:
即用位置参数, 也用关键字参数
顺序必须是先位置参数, 后关键字参数
def qiaoning(a,b,c,d):
print(a,b,c,d)
qiaoning(1,2,c=3,d=4) #1 2 3 4
形参:
1.位置参数
2.默认值参数 先位置后默认值
def qiaoning(a,b,c,d=4):
print(a,b,c,d)
qiaoning(1,2,3) #1 2 3 4
def qiaoning(a,b,c,d=4):
print(a,b,c,d)
qiaoning(1,2,3,5) #1 2 3 5
动态传参
位置参数的动态传参 *args
- 表示接收位置参数的动态传参 接收到时元组
def qiaoning(*args):
print(args)
顺序:位置参数 -- *args -- 默认值参数 -- **kwargs
def qiaoning(name,*args):
print(name,args)
def qiaoning(name,*args,location='shanghai'):
print(name,args)
关键字的动态传参 **kwargs
def qiaoning(*args,**kwargs):
print(args)
print(kwargs)
函数注释
def fun(a,b):
'''
这个函数是用来计算a + b 的
:param 传入的第一个数字:
:param 传入的第二个数字:
:return: 求和
'''
return a + b
print(fun.__doc__)
print(str.count.__doc__)
聚合
def qiaoning(*args,**kwargs): #无敌 形参位置 *args相当于一个聚合的作用
print(args)
print(kwargs)
打散
def food(*args,**kwargs):
print(args)
print(kwargs)
lst = ['shell','python','java','golang']
dic = {'姓名':'乔宁'}
food(*lst) #打散 列表 ('shell', 'python', 'java', 'golang')
food(**dic) # 打散 字典 {'姓名': '乔宁'}
网友评论