博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python函数中的*与**
阅读量:4566 次
发布时间:2019-06-08

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

Python函数传参中的*与**

在为函数调用时传递参数和函数定义时使用参数的时候,时常会看到有和 *和**,下面分别讲解其作用。
  • 函数调用时使用*和 **
    假设有函数
def test(a, b, c)

test(*args) :* 的作用其实就是把序列args中的每个元素,当作位置参数传进去。比如上面这个代码,如果 args 等于 (1,2,3) ,那么这个代码就等价于 test(1, 2, 3)

test(**kwargs)** 的作用则是把字典 kwargs 变成关键字参数传递。比如上面这个代码,如果 kwargs 等于 {‘a’:1,’b’:2,’c’:3} ,那这个代码就等价于 test(a=1,b=2,c=3)

  • 函数定义时使用*和**
def test(*args):

  定义函数时 * 的含义又要有所不同,在这里 *args 表示把传进来的位置参数都装在元组 args 里面。比如说上面这个函数,传参调用test(1, 2, 3)的话, args 的值就是 (1, 2, 3) 。:

def test(**kwargs):

  类似的, ** 就是针对关键字参数和字典的了。 传参调用 test(a=1,b=2,c=3)的话, kwargs 的值就是 {'a':1,'b':2,'c':3} 了。

转载于

转载于:https://www.cnblogs.com/SilverChen/p/9885403.html

你可能感兴趣的文章
8大你不得不知的Android调试工具
查看>>
pc端元素拖拽
查看>>
Sublime Text3使用Package Control 报错There Are No Packages Available For Installation
查看>>
判断连通图是否有环(并查集)
查看>>
汽车之家面试题2016
查看>>
POJ-数据结构-优先队列模板
查看>>
【HAOI2006】旅行(并查集暴力)
查看>>
css实现文本超出部分省略号显示
查看>>
留言板
查看>>
vue-router组件状态刷新消失的问题
查看>>
Android UI开发第十四篇——可以移动的悬浮框
查看>>
java8的一些用法
查看>>
(十)Hive分析窗口函数(二) NTILE,ROW_NUMBER,RANK,DENSE_RANK
查看>>
2018-11-19站立会议内容
查看>>
STM32 通用定时器相关寄存器
查看>>
【题解】1621. 未命名
查看>>
字符串加密算法
查看>>
Oracle的实例恢复解析
查看>>
UICollectionView cellForItemAt 不被调用
查看>>
巧用网盘托管私人Git项目
查看>>