python-函数传参

python-函数传参

学习记录,与其他大佬内容或者理解有误,以大佬文章为准


'''
函数的传参
    形参:
        在定义函数的时候,定义的参数,叫形参(被没有赋予确定的值)
    # 形参是用来接受实参传递的值的
        1、必需参数(必备参数)
        2、默认参数(缺省参数)
        3、不定长参数(动态参数)
            *args :接收0个或者多个位置参数
            **kwargs :接收0个或者多个关键字参数
	* 拆包和打包 *
	   拆包:
	       *:可以用来对元组、列表、字符串进行拆包(调用函数传递参数的时候)
	       **: 可以对字典进行拆包(调用函数传递参数的时候)
	       注意:1、字典拆包时,字典中的key值要与函数中形参一致
	            2、使用*对字典拆包会把字典的key值拆分出去
	            3、* 与 ** 拆包,只能在调用函数传递参数的时候使用

    打包:
        1、定义参数的时候在参数名前面加个 ‘*’ 或者 ‘**’,这个不定长参数就是打包
        2、‘*’ 的不定长参数会把接收到的数据打包成一个元组
        3、‘**’ 的不定长参数会把接收到的数据打包成一个字典

    实参:
        在调用函数的时候,传入进行的参数,叫着实参(调用函数的时候传入的值)
        传值方式:
            1、按照位置顺序进行传递,这种传参的形式叫做位置参数
            2、通过参数名指定传参进行传递,这种传参方式叫做关键字传参(通过参数名指定传参)

'''

函数的传参

def fun1(a, b):  # a, b 形参
    return a + b

# 位置传参
re = fun1(200, 200)  # 100, 200 实参
print(re)
# 关键字传参
re2 = fun1(b=121, a=100)
print(re2)

必需参数(必备参数)

# 什么叫必备参数?什么叫他妈的必备参数?必备参数就是你喵的不在函数里定义,就没办法调用函数的时候传递实参,所以这个函数的形参就是必备参数
# def fun2():
#     d = a+b+c
#     print(d)
# fun2(1,2,3)  # fun2() takes 0 positional arguments but 3 were given

默认参数(缺省参数)

# 默认参数,调用时没有传递实参,就会以默认的数进行运算
def fun2(a, b, c=10086):
    d = a+b+c
    print(d)
fun2(1, 2)  # 10089

*args,**kwargs不定长传参

def fun3(a, b, *args,**kwargs):
    s = a + b
    print(s, args, kwargs)


fun3(1, 2, 3, 4, 5, 6, 7, c=123, d='456')

* 与 ** 拆包

普通传递方法

def fun4(a, b, c):
    print('a:{}'.format(a))
    print('b:{}'.format(b))
    print('c:{}'.format(c))


lis4 = [1, 2, 3]
tuple_4 = (4, 5, 6)
str = '789'
dict_4 = {'a': 12, 'b': 34, 'c': 56}
# 普通传递方法
fun4(lis4[0], lis4[1], lis4[2])

使用拆包传递

print('-----------------------')
fun4(*lis4)
print('-----------------------')
fun4(*tuple_4)
print('-----------------------')
fun4(*str)
print('-----------------------')
fun4(*dict_4)  # 使用*对字典拆包会把字典的key值拆分出去(a:a、b:b、c:c)
print('-----------------------')

** 对字典进行拆包

fun4(**dict_4)  # 字典拆包时,字典中的key值要与函数中形参一致,
print('-----------------------')
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值