iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >django中的*args 与 **kwargs用法是什么
  • 199
分享到

django中的*args 与 **kwargs用法是什么

2023-06-14 04:06:00 199人浏览 独家记忆
摘要

这篇文章主要讲解了“Django中的*args 与 **kwargs用法是什么 ”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“djanGo中的*args 与 **kwargs用法是什么 ”吧

这篇文章主要讲解了“Django中的*args 与 **kwargs用法是什么 ”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“djanGo中的*args 与 **kwargs用法是什么 ”吧!

这是python函数可变参数 args及kwargs

*args表示任何多个无名参数,它是一个tuple

**kwargs表示关键字参数,它是一个dict

测试代码如下:

def foo(*args,**kwargs): print 'args=',args print 'kwargs=',kwargs print '**********************' if __name__=='__main__': foo(1,2,3) foo(a=1,b=2,c=3) foo(1,2,3,a=1,b=2,c=3) foo(1,'b','c',a=1,b='b',c='c')

执行结果如下:

args= (1, 2, 3) kwargs= {} **********************args= () kwargs= {'a': 1, 'c': 3, 'b': 2} **********************args= (1, 2, 3) kwargs= {'a': 1, 'c': 3, 'b': 2} **********************args= (1, 'b', 'c') kwargs= {'a': 1, 'c': 'c', 'b': 'b'} **********************

补充:Python中的**kwargs和*args这么理解

Python中经常看到**kwargs和*args这么两个参数,例如下面groupby的参数。

到底是什么意思呢?

怎么使用?

DataFrame.groupby(by=None, axis=0, level=None, as_index= True, sort=True, group_keys=True, squeeze=False, observed=False, **kwargs)

**kwargs和*args意思

*args和**kwargs一般是用在函数定义的时候。二者的意义是允许定义的函数接受任意数目的参数。也就是说我们在函数被调用前并不知道也不限制将来函数可以接收的参数数量。在这种情况下我们可以使用*args和**kwargs。

*args的使用

*args用来表示函数接收可变长度的非关键字参数列表作为函数的输入。我们可以通过以下这个例子来进一步理解*args。

def test_args(nORMal_arg, *args): print("first normal arg:" + normal_arg) for arg in args:  print("another arg through *args :" + arg)test_args("normal", "python", "java", "C#")

上面代码的执行结果如下:

first normal arg: normalanother arg through *args : pythonanother arg through *args : javaanother arg through *args :C#

**kwargs的使用

**kwargs表示函数接收可变长度的关键字参数字典作为函数的输入。当我们需要函数接收带关键字的参数作为输入的时候,应当使用**kwargs。我们可以通过以下这个例子来进一步理解**kwargs。

def test_kwargs(**kwargs): if kwargs is not None:  for key, value in kwargs.iteritems():   print("{} = {}".format(key,value))  # Or you can visit kwargs like a dict() object  # for key in kwargs:  # print("{} = {}".format(key, kwargs[key]))test_kwargs(name="python", value="5")

以上代码的执行结果如下:

name = pythonvalue = 5

以上例子只是*args和**kwargs的基本的使用例子。下面再给出一个用*args和**kwargs来定义能够接收列表输入和字典输入的函数的例子。

使用*args和**kwargs来调用函数

比如我们有如下接收普通输入参数的函数:

def normal_func(arg1, arg2, arg3): print("arg1: " + arg1) print("arg2: " + arg2) print("arg3: " + arg3)normal_func("python", 1, 3)

使用*args和**kwargs来调用这个函数的代码如下:

# 使用*argsargs_list = ("python", 1, 3)normal_func(*args_list)# 使用**kwargskwargs_dict = {"arg3": 3, "arg1": "python", "arg2": 1}normal_func(**kwargs_dict)

以上三段代码的输出均为:

arg1: pythonarg2: 1arg3: 3

汇总

*args和**kwargs都指定义函数时其内部参数数量问题,不指定具体数量,依据使用时具体情况而临场确定数量。

*args针对非关键字参数,**kwargs针对关键字参数。

不仅在定义函数时有空,并且可以作为函数实际调用时作为参数使用。

感谢各位的阅读,以上就是“django中的*args 与 **kwargs用法是什么 ”的内容了,经过本文的学习后,相信大家对django中的*args 与 **kwargs用法是什么 这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: django中的*args 与 **kwargs用法是什么

本文链接: https://www.lsjlt.com/news/267867.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • django中的*args 与 **kwargs用法是什么
    这篇文章主要讲解了“django中的*args 与 **kwargs用法是什么 ”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“django中的*args 与 **kwargs用法是什么 ”吧...
    99+
    2023-06-14
  • django中的*args 与 **kwargs使用介绍
    这是Python函数可变参数 args及kwargs *args表示任何多个无名参数,它是一个tuple **kwargs表示关键字参数,它是一个dict 测试代码如下: def...
    99+
    2022-11-11
  • Python中的函数参数传递方法*args与**kwargs怎么使用
    本文小编为大家详细介绍“Python中的函数参数传递方法*args与**kwargs怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python中的函数参数传递方法*args与**kwargs怎么使用”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-05
  • 详解Python中的函数参数传递方法*args与**kwargs
    目录定义和传递参数函数参数总结定义和传递参数 parameters 和arguments 之间的区别是什么 许多人交替使用这些术语,但它们是有区别的: Parameters 是函数定...
    99+
    2023-03-09
    Python函数传递方法*args **kwargs Python *args **kwargs Python函数传递方法
  • Python函数中*args和**kwargs来传递变长参数的用法
    单星号形式(*args)用来传递非命名键可变参数列表。双星号形式(**kwargs)用来传递键值可变参数列表。 下面的例子,传递了一个固定位置参数和两个变长参数。 def test_var_args(f...
    99+
    2022-06-04
    函数 变长 参数
  • Python中关于*args与**args的用法及说明
    目录关于 *args与**args的用法*args**kwargs*args和**kwargs是什么意思*args和**kwargs的用途总结关于 *args与**args的用法 *...
    99+
    2023-02-06
    Python中*args用法 Python中**args用法 *args与**args的用法
  • Spring AOP中args()和argNames的含义是什么
    本篇内容介绍了“Spring AOP中args()和argNames的含义是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!args()的...
    99+
    2023-06-20
  • python中*args与**kwarsg及闭包和装饰器的用法
    目录*args与**kwarsg及闭包和装饰器过程Python fun(*args,**kwargs)中*args,**kwargs参数含义及用法1. Python函数中的两种参数2...
    99+
    2022-11-11
  • Java main方法中的String[] args怎么使用
    这篇文章主要介绍了Java main方法中的String[] args怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java main方法中的String[] args怎么使用文章都会有所收获,下面我们...
    99+
    2023-06-27
  • Django Admin的使用方法是什么
    本篇内容主要讲解“Django Admin的使用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Django Admin的使用方法是什么”吧!创建管理员用户命令行输入...
    99+
    2023-06-22
  • Django记录操作日志与LogEntry的使用方法是什么
    这篇文章主要介绍“Django记录操作日志与LogEntry的使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Django记录操作日志与LogEntry的使用方法是什么”文章能帮助大家解...
    99+
    2023-06-26
  • Django中HTTP响应的使用方法是什么?
    Django是一种流行的Web框架,它提供了许多有用的功能,其中一个是HTTP响应。在本文中,我们将探讨Django中HTTP响应的使用方法。 HTTP响应是服务器向客户端发送的数据,用于响应客户端请求。在Django中,我们可以使用Htt...
    99+
    2023-07-07
    http 响应 django
  • Python Django的模型建立与操作方法是什么
    本文小编为大家详细介绍“Python Django的模型建立与操作方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python Django的模型建立与操作方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-07-04
  • Django中的unittest应用是什么
    这篇文章主要讲解了“Django中的unittest应用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Django中的unittest应用是什么”吧!关于断言它是用于对一个确定结果和预...
    99+
    2023-06-25
  • Django基本使用方法是什么
    这篇文章主要介绍“Django基本使用方法是什么”,在日常操作中,相信很多人在Django基本使用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Django基本使用方法是什么”的疑惑有所帮助!接下来...
    99+
    2023-06-04
  • Django高可用部署的方法是什么
    Django的高可用部署通常使用以下方法之一:1. 使用负载均衡器:在应用服务器之前使用负载均衡器,可以将流量分发到多个应用服务器上...
    99+
    2023-10-09
    django
  • django连接mysql的方法是什么
    连接MySQL数据库的方法可以通过以下步骤实现:1. 安装MySQL驱动:在Django项目的虚拟环境中安装MySQL驱动,如`my...
    99+
    2023-10-11
    django mysql
  • C#中DateTime与TimeSpan的用法是什么
    在C#中,DateTime和TimeSpan是两个不同的类型,用于处理日期和时间。 DateTime用于表示一个具体的日期和时间。它...
    99+
    2023-10-23
    C#
  • js中setInterval()与clearInterval()的用法是什么
    setInterval()是JavaScript中的一个函数,它可以用来设置定时器,以指定的时间间隔重复执行指定的函数或代码。它接受...
    99+
    2023-10-23
    js
  • Django的中间件是什么
    本篇内容主要讲解“Django的中间件是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Django的中间件是什么”吧!什么是中间件(middleware) django 中的中间件(midd...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作