Python基础23 函数的返回值、函数的参数定义

一、函数的返回值

"""
函数的返回值
函数返回多个值时,结果为元组
"""
def fun1(num):
    odd=[]
    even=[]
    for i in num:
        if i % 2:
            odd.append(i)
        else:
            even.append(i)
    return odd,even
list=[2,3,4,5,6,7,8,99]
print(fun1(list))
"""
函数的返回值
1、如果函数没有返回值,return可以省略不写
2、函数的返回值,如果是1个,直接返回类型
3、函数的返回值,如果是多个,返回的结果为元组
函数在定义的时候是否需要返回值,需要视情况而定
"""
def fun2():
    print("hello")
    #return
def fun3():
    return "hello"
def fun4():
    return "hello","python"
fun2()
print(fun3(),"\n",fun4())

二、函数的参数定义

"""
函数的参数定义
函数定义默认值参数,形参需要设置默认值,只有与默认值不符(需要修改形参的值)的时候才需要传递实参
"""
def fun(a,b=10):
    print(a,b)
fun(1)
fun(1,2)
"""
函数的参数定义
1、个数可变的位置参数 个数可变的位置参数只能有1个
定义函数时,可能无法事先确定传递的位置实参的个数,使用可变的位置参数
使用*定义个数可变的位置参数
结果为一个元组
2、个数可变的关键字参数 个数可变的关键字参数只能有1个
定义函数时,无法事先确定传递关键字的个数时,使用可变的关键字形参
使用**定义个数可变的关键字形参
结果为一个字典

在一个函数的定义过程中,既有个数可变的关键字形参,也有个数可变的位置形参
要求,个数可变的位置形参,放在个数可变的关键字形参之前
def fun(**args1,*args2):
    pass
"""
def fun1(*args):
    print(args)
def fun2(**args):
    print(args)
fun1(1,2,3)
fun2(a=1,b=2,c=3)

def fun3(a,b,c):    # a,b,c在函数定义处,所以是形式参数
    print('a=',a)
    print('b=',b)
    print('c=',c)
# 函数的调用
fun3(11,22,33)   # 函数的调用时的参数传递,成为位置传参
list=[11,22,33]
fun3(*list) # 在函数的调用时,将列表的每个元素转换为位置实参传入

fun3(b=11,c=33,a=22)    # 在函数的调用时,所以是关键字实参

dic={'a':100,'b':200,'c':300}
fun3(**dic) # 在函数调用时,将字典的键值对都转换为关键字实参传入

def fun4(a,b,*,c,d):    # 从*之后的参数,在函数调用时,只能采用关键字参数传递
    print('a=', a)
    print('b=', b)
    print('c=', c)
    print('d=', d)
fun4(1,2,c=3,d=4)

# 函数定义时的形参的顺序问题
def fun5(a,b,*,c,d,**args):
    pass
def fun6(*args1,**args2):
    pass
def fun7(a,b=10,*args1,**args2):
    pass
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值