python-day09_04 收集参数

# ### 收集参数
"""
(1) 普通收集形参: 专门用来收集那些多余的没人要的普通实参
                   收集之后,会把多余实参打包成一个元组
                   参数头上1个星星
    def func(*args):
        pass
    args => arguments 参数
"""
def func(a,b,c,*args):
    print(a,b,c) # 1 2 3
    print(args)  # (4,5,6)

func(1,2,3,4,5,6)


# 任意个数值得累加和
def mysum(*args):
    total = 0
    for i in args:
        total += i
    print(total)
mysum(1,2,3,4,4,45,10,100)

"""
(2) 关键字收集形参:专门用来收集那些多余的没人要的关键字实参
                    收集之后,会把多余关键字实参打包成一个字典
                    参数头上有2个星星
    def func(**kwargs):
        pass
    kwargs => keyword arguments
"""

def func(a,b,c,**kwargs):
    print(a,b,c)
    print(kwargs) # {'f': 100, 'e': 200, 'z': 12}
func(c=1,a=3,b=10,f=100,e=200,z=12)


# 拼接任意个数值变成字符串
"""
班长: 赵万里
班花: 马春陪
划水群众: 赵沈阳,李虎凌,刘子涛
"""
def func(**kwargs):
    strvar1 = ""
    strvar2 = ""
    # 定义职位信息
    dic = {"monitor":"班长","classflower":"班花"}
    print(kwargs)
    # 共5次循环
    for k,v in kwargs.items():
        if k in dic:
            # 将2次循环的结果通过+= 拼接在一起
            strvar1 += dic[k] + ":" + v + "\n"            
        else:
            # 将3次循环的结果通过+= 拼接在一起
            strvar2 += v + " , "
    print(strvar1.strip())
    print("划水群众:",strvar2.strip(" , "))
        
    """
    # print(k,v)
    k       v
    monitor 赵万里
    classflower 马春陪
    water1 赵沈阳
    water2 李虎凌
    water3 刘子涛
    {'monitor': '赵万里', 'classflower': '马春陪', 'water1': '赵沈阳', 'water2': '李虎凌', 'water3': '刘子涛'}
    """

func(monitor="赵万里",classflower="马春陪",water1="赵沈阳",water2="李虎凌",water3="刘子涛")

 

posted @ 2023-12-20 10:34  cuimeng  阅读(17)  评论(0)    收藏  举报