python函数的入参和传参

https://www.bilibili.com/video/BV1k7411W78H

# 1.位置参数
def calc(a, b, c):
    print(a + b * c)


calc(1, 2, 3)


# 2.关键字参数,如果使用上面的位置参数进行传值,一个函数入参定义了十多个,位置很容易搞混
# 使用关键词进行传输,就是传入的标识 = 传入的数据
def calc(a, b, c):
    print(a + b * c)


calc(b=1, a=2, c=3)


# 3.关键字参数和位置参数混搭,必须 先位置,后关键字
def sum(a, b, c):
    print(a + b * c)


sum(1, b=2, c=3)


# 4.函数入参,强制关键字参数传值
# 函数入参前面加入 * 号标识,强制调用函数时入参必须为关键字参数传值
def add(*, a, b, c):
    print(a + b + c)


add(b=1, a=2, c=3)


# 5.默认参数
# 默认参数在函数定义时定义好,调用函数时,可以传,可以不传
def addm(a, b, c=0):
    print(a + b + c)


addm(1, 2)
addm(1, 2, 3)


# 6.可变参数(位置),先固定参数,再可变参数
# 可变参数(位置),加入一个星号 *,进行标识
def sayhello(msg, *names):
    print('hello', names, msg)
    # 在函数内部使用时,可变参数前加入星号,表示开包
    print('hello', *names, msg)


# 调用的时候,name可以传多个数值,传入之后,会被合并为一个元祖(键值对)
sayhello('新年好', '丽华', '汤姆')


# 7.可变参数(关键词),先固定参数,再可变参数
# 如果在函数定义时,参数加入两个星号,代表可变关键词参数
def hello(msg, **names):
    # 可变参数(关键词)在使用的时候,需要使用 元祖 键值对的方式输出数值
    print('老大是:', names['boss'], msg)
    print('老二是:', names['boss2'], msg)

# 函数调用时,给可变参数(关键词)传值的时候,需要用键值对传值
hello('新年好', boss='大老板', boss2='二老板', boss3='三老板')

#10函数调用 -开包列表 和 元祖 ,加入一个星号 *,标识打开一个列表和元祖
# 可变参数(位置),加入一个星号 *,进行标识
def sayhai(msg = '默认的信息', *names):
    print('hello', names, msg)
    # 在函数内部使用时,可变参数前加入星号,表示开包
    print('hello', *names, msg)

# 调用的时候,name可以传多个数值,传入之后,会被合并为一个元祖(键值对)
data = ('新年好', '丽华', '汤姆')
data1 = ['你好',]
sayhai('这是msg',*data)
sayhai(*data1)

#11.函数调用 -开包 字典 ,加入一个星号 **,标识打开一个字典

# 如果在函数定义时,参数加入两个星号,代表可变关键词参数
def hello(msg, **names):
    # 可变参数(关键词)在使用的时候,需要使用 元祖 键值对的方式输出数值
    print('老大是:', names['boss'], msg)
    print('老二是:', names['boss2'], msg)

# 函数调用时,给可变参数(关键词)传值的时候,需要用键值对传值
data = {'boss':'大老板', 'boss2':'二老板', 'boss3':'三老板'}
#函数调用 -开包 字典 ,加入一个星号 **,标识打开一个字典
hello('这里是msg',**data)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值