python命名关键字参数的作用详解

1、说明

*,nkw表示命名关键字参数,是用户想输入的关键字参数名称,定义方式是在nkw前追加*,

2、作用

限制调用者传达的参数名称。

3、实例

# 命名关键字参数
def print_info4(name, age=18, height=178, *, weight, **kwargs):
  '''
  打印信息函数4,加入命名关键字参数
  :param name:
  :param age:
  :param height:
  :param weight:
  :param kwargs:
  :return:
  '''
  print('name: ', name)
  print('age: ', age)
  print('height: ', height)
  print('keyword: ', kwargs)
  print('weight: ', weight)
print_info4('robin', 20, 180, birth='2000/02/02', weight=125)

知识点扩展:

关键字参数

可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
形如:

>>> def person(name,age,**kw):
	print("name:",name,"age:",age,"other:",kw)
>>> person("bbj",23,city="hefei",habit="basketball")
name: bbj age: 23 other: {'city': 'hefei', 'habit': 'basketball'}
>>>

关键字参数按我的理解就是在调用时可以传入无数个自命名的参数,这里的关键字也就是自己命名的意思。所有的关键字参数会自动组装成一个字典

到此这篇关于python命名关键字参数的作用详解的文章就介绍到这了,更多相关python命名关键字参数有什么用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python命名关键字参数的作用详解

    1.说明 *,nkw表示命名关键字参数,是用户想输入的关键字参数名称,定义方式是在nkw前追加*, 2.作用 限制调用者传达的参数名称. 3.实例 # 命名关键字参数 def print_info4(name, age=18, height=178, *, weight, **kwargs): ''' 打印信息函数4,加入命名关键字参数 :param name: :param age: :param height: :param weight: :param kwargs: :return: '

  • Python函数关键字参数及用法详解

    目前为止,我们使用函数时所用的参数都是位置参数,即传入函数的实际参数必须与形式参数的数量和位置对应.而本节将介绍的关键字参数,则可以避免牢记参数位置的麻烦,令函数的调用和参数传递更加灵活方便. 关键字参数是指使用形式参数的名字来确定输入的参数值.通过此方式指定函数实参时,不再需要与形参的位置完全一致,只要将参数名写正确即可. 因此,Python 函数的参数名应该具有更好的语义,这样程序可以立刻明确传入函数的每个参数的含义. 例如,在下面的程序中就使用到了关键字参数的形式给函数传参: def di

  • Python中函数参数匹配模型详解

    当我们的函数接收参数为任意个,或者不能确定参数个数时,我们,可以利用 * 来定义任意数目的参数,这个函数调用时,其所有不匹配的位置参数会被赋值为元组,我们可以在函数利用循环或索引进行使用 def f(*args): # 直接打印元组参数 print(args) print('-'*20) # 循环打印元组参数 [print(i) for i in args] ... # 传递一个参数 f(1) print('='*20) # 传递5个参数 f(1, 2, 3, 4, 5) 示例结果: (1,)

  • response.setContentType()参数以及作用详解

    response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据. 例如web浏览器就是通过MIME类型来判断文件是GIF图片.通过MIME类型来处理json字符串. Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,可以参考. response.setContentType("text/html; charset=utf-8"); html .setC

  • python中的decorator的作用详解

    1.概念 装饰器(decorator)就是:定义了一个函数,想在运行时动态增加功能,又不想改动函数本身的代码.可以起到复用代码的功能,避免每个函数重复性编写代码,简言之就是拓展原来函数功能的一种函数.在python中,装饰器(decorator)分为 函数装饰器 和 类装饰器 两种.python中内置的@语言就是为了简化装饰器调用. 列出几个装饰器函数: 打印日志:@log 检测性能:@performance 数据库事务:@transaction URL路由:@post('/register')

  • 对python中的*args与**kwgs的含义与作用详解

    在定义函数的时候参数通常会使用 *args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用. *args是非关键字参数,用于元组,**kw是关键字参数 例如下面的代码 def foo(*args,**kwargs): print 'args is',args print 'kwargs is',kwargs foo(1,2) foo(k=1,w=2,a=3,r=4,g=5,s=6) foo(1,2,a=1,b=2,c=2) foo('a',1,None,a=1,b='2',c

  • Python中__init__.py文件的作用详解

    __init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件. 通常__init__.py 文件为空,但是我们还可以为它增加其他的功能.我们在导入一个包时,实际上是导入了它的__init__.py文件.这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入. # package # __init__.py import re import urllib import sys impo

  • Python编程中*args与**kwargs区别作用详解

    相信学Python的小伙伴肯定有这样的尴尬局面,给一个函数不会用, 原因是:不知道参数列表中的类型是什么意思,比如初学者都会疑问的:*args和**kwargs到底是怎么用. 当你知道这个时,我猜你肯定能会用好多函数了! #*args的用法:当传入的参数个数未知,且不需要知道参数名称时. def func_arg(farg, *args): print("formal arg:", farg) for arg in args: print("another arg:"

  • 对Python模块导入时全局变量__all__的作用详解

    Python中一个py文件就是一个模块,"__all__"变量是一个特殊的变量,可以在py文件中,也可以在包的__init__.py中出现. 1.在普通模块中使用时,表示一个模块中允许哪些属性可以被导入到别的模块中, 如:全局变量,函数,类.如下,test1.py和main.py test1.py __all__=["test"] def test(): print('----test-----') def test1(): print('----test1----

  • 对python的unittest架构公共参数token提取方法详解

    额...每个请求都有token值的传入,但是token非常易变,一旦变化,所有的接口用例都得改一遍token,工作量太大了... 那么有没有一种方法能把token提取出来,作为一个全局变量,作为一个参数,从而牵一发而动全身呢?? 经过探索,具体方案如下 先定义一个全局变量token类型为string 然后把请求链接定义一个变量类型为string 然后定义第三个变量=前两个变量相加 然后requests直接传第三个变量就行了 具体代码如下: class Test(unittest.TestCase

随机推荐