Python 向函数传递参数(小结)

目录

1、位置实参

2、关键字实参

3、形参默认值

4、将队列的副本传入函数

5、传递任意数量的实参

6、传递任意数量的关键字实参


1、位置实参

调用函数时,传递参数的顺序与函数定义中的参数顺序一致。

def person(name, age):
    pass

person('Marry',34)

2、关键字实参

调用函数时,指明形参名称,传递参数的顺序可以与函数定义中的参数顺序不一致。

def person(name, age):
    pass

person(age='34',name='Marry')

3、形参默认值

给形参指定一个默认值,如果函数调用时,没有为该形参传递实参,则使用默认值。

在使用‘位置实参’传递参数时,给定默认值的形参,放在所有形参之后。

person(name,age,city=None):
    pass

person('Marry','34','Melbourne')
person('Grace','43')

4、将队列的副本传入函数

以‘切片’的方式,将队列副本传入函数,函数将对副本进行修改,不影响原队列。

def show_info(messages):
    for msg in messages:
        msg = '++'+msg+'++'
        print(msg)

messages = ['a','b','c']
show_info(messages[:])
print(messages)

运行结果是:

++a++
++b++
++c++
['a', 'b', 'c']

5、传递任意数量的实参

函数show_ingredients中,使用*sandwich_ingredients定义了一个名为sandwich_ingredients的‘空元组’。调用函数时传递的所有实参,都保存在这个元组中。

def show_ingredients(* sandwich_ingredients):
    print('sandwich ingredients include:\n')
    for ingredient in sandwich_ingredients:
        print(f'-- {ingredient}')

show_ingredients('white bread','ham','cheddar')
show_ingredients('whole wheat bread','turkey','tomato slices','swiss')
show_ingredients('baguette','bacon')

运行结果:

sandwich ingredients include:

-- white bread
-- ham
-- cheddar
sandwich ingredients include:

-- whole wheat bread
-- turkey
-- tomato slices
-- swiss
sandwich ingredients include:

-- baguette
-- bacon

6、传递任意数量的关键字实参

函数user_profile中,使用**info定义了一个名为info的‘空字典’,函数调用时传递的所有键值对,都保存在该字典中。

def user_profile(first,last,**info):
    info['first_name']=first
    info['last_name']=last
    return info

user = user_profile('Grace','Wang',age='43',city='Melbourne',career='Engineer')
for key,value in user.items():
    print(f'{key}:{value}')

运行结果:

age:43
city:Melbourne
career:Engineer
first_name:Grace
last_name:Wang

  • 12
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值