博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 的 *args和 **kwargs 分别是什么意思
阅读量:2168 次
发布时间:2019-05-01

本文共 1034 字,大约阅读时间需要 3 分钟。

看参数源码里面方法里面总是带有*args和**kwargs 一直没有弄清楚是什么意思,感觉和很不明觉厉,一直没有时间弄清楚,今天有时间,觉得还是弄清楚比较好,就百度了一下,网上有好多的简单直白的翻译,按照自己理解的在记录一下,巩固巩固。

  1. *args的含义 按照我的理解是不同数量的变量的集合,元祖形式。举例

def show (*arg):	print(arg)show(1)show(1,2)show('hello','world','!!!')##################################################(1,)(1, 2)('hello', 'world', '!!!')
  1. **kwargs 的含义 这个就是以key=value是存储的关键字参数的集合 dict 形式 举例

def show(**arg):    print(arg)show(o1=2)show(one=2, two='je')show(one='hello', two='world', three='!!!')##################################################{
'o1': 2}{
'one': 2, 'two': 'je'}{
'one': 'hello', 'two': 'world', 'three': '!!!'}

把代码改了改,

def show(**arg):    print(arg.get('two'))    print(arg.get('ones', 'None'))    print(arg['three'])show(one='hello', two='world', three='!!!')#############################################################worldNone!!!

总结: 整理完毕之后,瞬间觉得自己技能等级+1,但是可能是我的基础不咋扎实,碰到了几个个小问题。

  1. 这个key不能是数值开头,不要问我是怎么知道的。

  2. dict.get(‘key’,‘没有key返回的值’),带默认返回值的要写在 没有默认返回值的参数后面

  3. arg[‘key’] 这种不能写在 不带默认返回值的get()前面

  4. dict.get(‘key’,‘没有key返回的值’)和arg[‘key’] 不分先后

转载地址:http://eatzb.baihongyu.com/

你可能感兴趣的文章
SQL教程之嵌套SELECT语句
查看>>
几个简单的SQL例子
查看>>
日本語の記号の読み方
查看>>
计算机英语编程中一些单词
查看>>
JavaScript 经典例子
查看>>
判断数据的JS代码
查看>>
js按键事件说明
查看>>
AJAX 初次体验!推荐刚学看这个满好的!
查看>>
AJAX 设计制作 在公司弄的 非得要做出这个养的 真晕!
查看>>
Linux 查看文件大小
查看>>
Java并发编程:线程池的使用
查看>>
redis单机及其集群的搭建
查看>>
Java多线程学习
查看>>
检查Linux服务器性能
查看>>
Java 8新的时间日期库
查看>>
Chrome开发者工具
查看>>
【LEETCODE】102-Binary Tree Level Order Traversal
查看>>
【LEETCODE】106-Construct Binary Tree from Inorder and Postorder Traversal
查看>>
【LEETCODE】202-Happy Number
查看>>
和机器学习和计算机视觉相关的数学
查看>>