首页 > 编程语言 >#yyds干货盘点#python关键字参数

#yyds干货盘点#python关键字参数

时间:2023-06-14 23:31:40浏览次数:45  
标签:yyds keyword parrot python argument 干货 参数 voltage print

关键字参数

kwarg=value 形式的 关键字参数 也可以用于调用函数。函数示例如下:

def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):
    print("-- This parrot wouldn't", action, end=' ')
    print("if you put", voltage, "volts through it.")
    print("-- Lovely plumage, the", type)
    print("-- It's", state, "!")

该函数接受一个必选参数(voltage)和三个可选参数(stateaction 和 type)。该函数可用下列方式调用:

parrot(1000)                                          # 1 positional argument
parrot(voltage=1000)                                  # 1 keyword argument
parrot(voltage=1000000, action='VOOOOOM')             # 2 keyword arguments
parrot(action='VOOOOOM', voltage=1000000)             # 2 keyword arguments
parrot('a million', 'bereft of life', 'jump')         # 3 positional arguments
parrot('a thousand', state='pushing up the daisies')  # 1 positional, 1 keyword

以下调用函数的方式都无效:

parrot()                     # required argument missing
parrot(voltage=5.0, 'dead')  # non-keyword argument after a keyword argument
parrot(110, voltage=220)     # duplicate value for the same argument
parrot(actor='John Cleese')  # unknown keyword argument

函数调用时,关键字参数必须跟在位置参数后面。所有传递的关键字参数都必须匹配一个函数接受的参数(比如,actor 不是函数 parrot 的有效参数),关键字参数的顺序并不重要。这也包括必选参数,(比如,parrot(voltage=1000) 也有效)。不能对同一个参数多次赋值,下面就是一个因此限制而失败的例子:

>>> def function(a):
...     pass
...
>>> function(0, a=0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: function() got multiple values for argument 'a'

最后一个形参为 **name 形式时,接收一个字典(详见 映射类型 --- dict),该字典包含与函数中已定义形参对应之外的所有关键字参数。**name 形参可以与 *name 形参(下一小节介绍)组合使用(*name 必须在 **name 前面), *name 形参接收一个 元组,该元组包含形参列表之外的位置参数。例如,可以定义下面这样的函数:

def cheeseshop(kind, *arguments, **keywords):
    print("-- Do you have any", kind, "?")
    print("-- I'm sorry, we're all out of", kind)
    for arg in arguments:
        print(arg)
    print("-" * 40)
    for kw in keywords:
        print(kw, ":", keywords[kw])

该函数可以用如下方式调用:

cheeseshop("Limburger", "It's very runny, sir.",
           "It's really very, VERY runny, sir.",
           shopkeeper="Michael Palin",
           client="John Cleese",
           sketch="Cheese Shop Sketch")

输出结果如下:

-- Do you have any Limburger ?
-- I'm sorry, we're all out of Limburger
It's very runny, sir.
It's really very, VERY runny, sir.
----------------------------------------
shopkeeper : Michael Palin
client : John Cleese
sketch : Cheese Shop Sketch

注意,关键字参数在输出结果中的顺序与调用函数时的顺序一致。

标签:yyds,keyword,parrot,python,argument,干货,参数,voltage,print
From: https://blog.51cto.com/u_12891160/6482724

相关文章

  • python list 从列表A删除列表B的几种方法
    问题描述:a=['a','b','c','d','e','f']b=['a','c','d']想要得到一个列表C=a-b的元素即c=['b','e','f']转换成集合删除c=list(set(a).difference......
  • django 更改了modules.py 数据库模型,但是 python3 manage.py makemigrations 提示无
    现象:明明改了modules.py文件。删了appname/migrations/下所有内容。而且也删除了django模型变更记录表django_migrations中appname项目的记录 原因:删多了: appname/migrations/下所有内容。__init__.py不能删,需要重新创建一个,否则识别不了包了  ......
  • python第一课 -python基本语法
    python关键字导入关键字,并打印出来importkeyword#查看python关键字print(keyword.kwlist)'''将python关键字每行5个打印出来'''key=keyword.kwlistj=0foriinkey:print(i,end='\t')j+=1ifj==5:j=0print('\......
  • python 项目打包成exe文件-使用pyinstaller
    1.首先安装pyinstaller2.复制一份项目到桌面3.命令行进入桌面的项目地址4.使用pyinstaller打包,几种打包方法见上图。截图方框依次为虚拟环境,项目地址,打包方式以及内容(打包的是main.py文件)打包后结果:在文件件内多处两个文件夹,打开dist文件夹就可以看到可执行程序跟着老师一起做的......
  • python GUI+爬虫——12306抢票软件(1)
    使用python的GUI和爬虫等功能自己构造一个12306的抢票软件。该课程来自网易云课堂的撩课学院,付费课程。地址:网易云课堂搜索以下内容就可找到我跟着学,不一定最后能成功。先试试,想要成功的同学请看我该系列有没有真正实现,如果我没有实现,你可以直接放弃,不用再浪费时间了。简单描述一......
  • python-小试牛刀
    这篇博客对你可能意义不大,对于我而言相对重要一些!!!! 因为某人的需求,喊我写一个计算图片灰度值,标准差的代码,计划用js来写,查了一下两种写法,一种用canvas获取img的属性,根据像素的灰度值进行计算;另一种是node+opencv来写,但是Windows在node环境下配置opencv好像优点麻烦,果断放弃。想着某......
  • Ubuntu安装Python 3.10
    更新系统的软件包列表和软件包:sudoaptupdatesudoaptupgrade安装构建Python3.10所需的依赖项:sudoaptinstallbuild-essentialzlib1g-devlibncurses5-devlibgdbm-devlibnss3-devlibssl-devlibsqlite3-devlibreadline-devlibffi-devcurllibbz2-dev下载Python3.10......
  • python读取文件——python读取和保存mat文件
      首先我们谈谈MarkDown编辑器,我感觉些倒是挺方便的,因为用惯了LaTeX,对于MarkDown还是比较容易上手的,但是我发现,MarkDown中有这样几个问题一直没能找到具体的解决方法:图片大小的问题。在LaTeX中我们可以调整图片的大小,以适应整个文本;字体,字号大小的设置。在MarkDown里面标题倒是......
  • python基础知识——字符串
    1、字符串的格式化python将若干值插入到带有“%”标记的字符串中,实现动态地输出字符串。格式:"%s"%str"%s%s"%(str_1,str_2)例如:str_0="I"str_1="Love"str_2="China"format="%s%s%s"%(str_0,str_1,str_2)printformat#ILoveChi......
  • python基础知识——内置数据结构(集合)
    python中的set是指一系列无序元素的集合,其中的元素都是相异的,常见的操作包括集合的并集,交集和补集等操作。1、set的创建格式set_name={value1,value2,...}创建空的集合set_name=set()注意:在创建空的集合的时候不能使用set_name={}这样创建出来的是字典。例如animals......