Python编程中*args与**kwargs区别作用详解
作者:qq_1170407931 发布时间:2021-12-16 06:16:12
标签:Python,args,kwargs
相信学Python的小伙伴肯定有这样的尴尬局面,给一个函数不会用,
原因是:不知道参数列表中的类型是什么意思,比如初学者都会疑问的:*args和**kwargs到底是怎么用。
当你知道这个时,我猜你肯定能会用好多函数了!
#*args的用法:当传入的参数个数未知,且不需要知道参数名称时。
def func_arg(farg, *args):
print("formal arg:", farg)
for arg in args:
print("another arg:", arg)
func_arg(1,"youzan",'dba','四块五的妞')
print("-----------------------")
# 输出结果如下:
#formal arg: 1
# another arg: youzan
# another arg: dba
# another arg: 四块五的妞
# -----------------------
#**kwargs的用法:当传入的参数个数未知,但需要知道参数的名称时(立马想到了字典,即键值对)
def func_kwargs(farg, **kwargs):
print("formal arg:", farg)
for key in kwargs:
print("keyword arg: %s: %s" % (key, kwargs[key]))
func_kwargs(1 ,id=1, name='youzan', city='hangzhou',age ='20',四块五的妞是 = '来日方长的')
print('--------------------')
# 输出结果如下:
# formal arg: 1
# keyword arg: id: 1
# keyword arg: name: youzan
# keyword arg: city: hangzhou
# keyword arg: age: 20
# keyword arg: 四块五的妞是: 来日方长的
利用它转换参数为字典
def kw_dict(**kwargs):
return kwargs
print(kw_dict(a=1,b=2,c=3))
输出结果如下:
# --------------------
# {'a': 1, 'b': 2, 'c': 3}
来源:https://blog.csdn.net/qq_41877039/article/details/97623476


猜你喜欢
- 使用go mod之后,想要在goland中有代码提示,有两种方式,一种是使用gopath下的goimport工具,另一种是使用gomod自身
- 一、文件操作前言:什么是计算机的流?"流"指的是在不同的输入/输出等设备(键盘、内存、显示器、音响等)之间进行传递数据。
- 目的把字符串逐字符或逐词反转过来,这个蛮有意思的。方法先看逐字符反转吧,第一种设置切片的步长为-1revchars=astring[::-1
- 将ASCII字符转换为对应的数值即‘a'-->65,使用ord函数,ord('a')反之,使用chr函数,将数
- 在实际应用中,经常会遇上这样的小需求:根据一段给定的数组,生成由这一段数组值构成的对称矩阵。例如,给定数组[1,2,3,4,5,6,7,8,
- 核心代码:from random import randomfrom time import timefrom PyQt5.QtCore i
- 本文实例讲述了python实现在控制台输入密码不显示的方法。分享给大家供大家参考。具体实现方法如下:import console;names
- 1、基础概念什么是网络编程?指在网络环境中,如何实现不在同一物理位置中的计算机之间进行数据通信如果要保证数据通信顺利完成,则需要先了解如下几
- sql语句有一个非常长的sql,用编辑器打开编写的时候太长了导致编写非常吃力,而且容易错乱,我想做的是把A,B,C三个变量赋值到sql中的字
- 本文实例讲述了Python3爬虫学习之爬虫利器Beautiful Soup用法。分享给大家供大家参考,具体如下:爬虫利器Beautiful
- 不同的开发工具,都能俘获各自的一批忠实的用户和支持者。VS Code、Eclipse、IDEA、atom....到底哪一款开发工具更好?一直
- 为什么会有这个需求呢?有没有发现在国外的一些网站,当你向上滚动时,导航条浮动在顶部位置。用户如果是想看内容就可以直接点击到达,省去很多拖动的
- 在数据库中,字符型的数据是最多的,可以占到整个数据库的80%以上。为此正确处理字符型的数据,对于提高数据库的性能有很大的作用。在字符型数据中
- 和设计师打过交道的人一定也见到过少数极品,不是扎着小辫子留着小胡子,就是剃了光头抽根烟,通常说起来一套一套的人作品都很一般般,而作品一般般的
- GitHub 无疑是代码托管领域的先行者,Python 作为一种通用编程语言,已经被千千万万的开发人员用来构建各种有意思或有用的项目。以下我
- 前言:python虽然是一门'慢语言',但是也有着比较多的性能检测工具来帮助我们优化程序的运行效率。这里总结了五个比较好的p
- 本文实例为大家分享了asp.net存储和读取数据库图片的具体代码,供大家参考,具体内容如下1. 创建asp.net web窗体项目代码如下:
- 今天我们用python和python的工具包pygame来编写一个贪吃蛇的小游戏贪吃蛇游戏功能介绍贪吃蛇的游戏规则如下:通过上下左右键或者W
- 一、简述MySQL版本从5直接 * 到8,相信MySQL8一定会有很多令人意想不到的改进,如果不想只会CRUD可以看看。比如系统表引擎的变化
- 引言Supabase是一个自称的 "开源Firebase替代品"。我对与Supbase合作已经有一段时间了,我想我将尝试