码迷,mamicode.com
首页 > 其他好文 > 详细

刷题(七)

时间:2020-04-30 15:12:38      阅读:45      评论:0      收藏:0      [点我收藏+]

标签:rgs   位置   *args   **kwargs   可变参   运行   关键字   def   不难   

题目

请写出下列代码的运行结果

def f(str1, *args, **kwargs):
    print(str1, args, kwargs)


l = [1, 2, 3]
t = [4, 5, 6]
d = {"a": 7, "b": 8, "c": 9}

f(1, 2)   #1
f(1, 2, 3, "python")   #2
f("python", a=1, b=2, c=3)  #3
f("python", l, d)  #4
f("python", *t)    #5
f("python", *l, **d)   #6
f("python", q="winning", **d)   #7

思路

题目不难,但很容易漏,就像在#1中,实际上给关键字参数**kwargs什么都没传,打印时,仍然会打印个空字典{},同样在#3中,可变参数*args位置上什么都没传,仍然会打印个空元组()
值得注意的还有#4ld,由于都没有解包,所以当做一个元组([1, 2, 3], {"a": 7, "b": 8, "c": 9})传进去了

结果

1 (2,) {}
1 (2, 3, ‘python‘) {}
python () {‘a‘: 1, ‘b‘: 2, ‘c‘: 3}
python ([1, 2, 3], {‘a‘: 7, ‘b‘: 8, ‘c‘: 9}) {}
python (4, 5, 6) {}
python (1, 2, 3) {‘a‘: 7, ‘b‘: 8, ‘c‘: 9}
python () {‘q‘: ‘winning‘, ‘a‘: 7, ‘b‘: 8, ‘c‘: 9}

刷题(七)

标签:rgs   位置   *args   **kwargs   可变参   运行   关键字   def   不难   

原文地址:https://www.cnblogs.com/my_captain/p/12808875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!