函数参数里*argvs和**kwargs的区别

def daily_record(date,*argvs):#函数调用需要传递一个data参数+*argvs中的*代表可传递未知个数的参数
    thing_list = []
    daily_record = {}
    for argv in argvs:#argvs的使用类似是一个列表
        thing_list.append(argv)
    daily_record[date] = thing_list  
    return daily_record#返回一个字典值
    
print(daily_record('2020/2/17','python','tv','douying'))#传入一个4个参数,第一个传给data变量,其它传给argvs

输出
{‘2020/2/17’: [‘python’, ‘tv’, ‘douying’]}

def daily_record(date,**things):#**代表传入的是一个字典型数据
    daily_record = {}
    print(things)#things其实是一个字典数据
    for k in things:#遍历字典数据的方法
        print("%s:%s"%(k,things[k]))
    daily_record[date] = things#给字典赋值
    return daily_record#返回一个字典数据

print(daily_record('2020/2/17',learning='python',entertain='tv',cook='douying'))#给**函数参数赋值的方式是:变量名=‘键值’
    

输出
{‘learning’: ‘python’, ‘entertain’: ‘tv’, ‘cook’: ‘douying’}
learning:python
entertain:tv
cook:douying
{‘2020/2/17’: {‘learning’: ‘python’, ‘entertain’: ‘tv’, ‘cook’: ‘douying’}}

发布了11 篇原创文章 · 获赞 0 · 访问量 156

猜你喜欢

转载自blog.csdn.net/kevinai2089/article/details/104366206