- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python函数参数匹配模型通用规则keyword-only参数详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
python3对函数参数的排序规则更加通用化了,即python3 keyword-only参数,该参数即为必须只按照关键字传递而不会有一个位置参数来填充的参数。该规则在处理人一多个参数是很有用的.
keyword-only 。
1
2
3
|
kword_only(
1
,
2
,
3
, c
=
4
)
print
(
'-'
*
20
)
kword_only(a
=
1
, c
=
3
)
|
示例结果:
1 (2, 3) 4 -------------------- 1 () 3 。
在 *args 之后的参数都需要在调用中使用关键字的方式传递,否则会抛出异常.
1
2
3
|
def
kword_only(a,
*
b, c):
print
(a, b, c)
kword_only(
1
,
2
,
3
)
|
异常结果:
kword_only(1, 2, 3) typeerror: kword_only() missing 1 required keyword-only argument: 'c' 。
我们也可以在参数列表中使用一个 * 字符,表示函数不会接受变量长度的参数列表,而是要求 * 后面的参数都需要使用关键字参数的方式传递.
1
2
3
4
5
|
def
kword_only(a,
*
, b, c):
print
(a, b, c)
kword_only(
1
, b
=
2
, c
=
3
)
print
(
'-'
*
20
)
kword_only(b
=
2
, c
=
3
, a
=
1
)
|
示例结果:
1 2 3 -------------------- 1 2 3 。
我们可以看到 a 可以利用位置参数进行传递,但是 b 、 c 必须通过关键字参数传递,否则就会抛出异常.
1
2
3
|
def
kword_only(a,
*
, b, c):
print
(a, b, c)
kword_only(
1
,
2
,
3
)
|
异常结果:
kword_only(1, 2, 3) typeerror: kword_only() takes 1 positional argument but 3 were given 。
当然我们,可以通过对keyword-only参数使用默认值,这样例中的 a 仍可以通过位置参数或者关键字参数传递,而 b 、 c 就是可选的了,当然如果需要传递的话仍然是要利用关键字参数进行传递的.
1
2
3
4
5
6
7
|
def
kword_only(a,
*
, b
=
2
, c
=
3
):
print
(a, b, c)
kword_only(
1
)
print
(
'-'
*
20
)
kword_only(a
=
1
)
print
(
'-'
*
20
)
kword_only(b
=
22
, c
=
33
, a
=
11
)
|
示例结果:
1 2 3 -------------------- 1 2 3 -------------------- 11 22 33 。
总结 。
以上所述是小编给大家介绍的python函数参数匹配模型通用规则keyword-only参数详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!原文链接:https://juejin.im/post/5cfd0e9551882541b24c3fdf 。
最后此篇关于Python函数参数匹配模型通用规则keyword-only参数详解的文章就讲到这里了,如果你想了解更多关于Python函数参数匹配模型通用规则keyword-only参数详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
import csv import numpy as np from sklearn.svm import SVR import matplotlib.pyplot as plt dates = []
我在 ANTLRWorks 1.4 中有以下语法。我正在考虑在文本冒险游戏创建器中实现解析器的想法,其中用户将为他的游戏指定各种允许的命令。 grammar test; parse :
我有一个 .dat 文件,我首先想将其转换为 .csv 文件,然后根据时间绘制一些行,我的脚本如下: import pandas as pd import numpy as np from sys i
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法 前言:
我有一个我无法理解的问题,因此在删除按钮中,尝试在创建按钮后将其删除的地方,出现以下错误: Delete=Button(root,text='Delete',command=lambda : S.pa
我想将某个函数作为线程运行,但我得到了 SyntaxError: non-keyword arg after keyword arg 我不明白为什么: #!/usr/bin/env python im
我试图在 scrappy 中抓取多个页面,我的函数确实返回第一个起始网址,但我无法设法使蜘蛛的规则生效。 这是我到目前为止所拥有的: import scrapy from scrapy.contrib
我正在使用 emeditor,我试图从法语维基百科转储 .xml 文件(20GB,3.38 亿行,总共 480 万篇文章)中分离出大约 200 万篇包含 keyword3 的文章。我想将文本包含在 2
发布表如下所示: publications ============ id title etc ... 关键字表如下所示: keywords ======== id name etc ... keyw
我有这个功能: def crypting(self, client, access_token, client_id, client_secret, oauth_scope, redirect_uri
我正在学习 Rails,但在以下代码中出现语法错误 unexpected keyword else, expected keyword end,我不知道为什么。
我正在一个网站上工作,我必须在数据库中搜索根域上/之后的字符串。我在文档中找不到任何有关它的信息。我正在尝试使其与 Iron Router 一起使用,但任何其他建议都会起作用。 感谢您的帮助! 编辑:
我刚刚找到有关 apache solr 的信息,并且在我成功安装了带有 Tomcat 的 apache Solr 之后。然后我开始使用 Apache Solr 进行搜索。 但我对 Apache Sol
我是 Angular JS 新手。我无法弄清楚过滤器如何仅对对象中的名称起作用,而不是对对象中的电话键起作用。就好像我们在 ng-model 中仅使用关键字一样,它将过滤范围中定义的对象中的名称和电话
当我运行以下代码行时,我试图将按钮按下绑定(bind)到 Tkinter 中的函数 get = Button(root, lambda: ChangeColour(boxes[1][2], boxes
response = requests.post("http://api.bf3stats.com/pc/player/", data = player, opt) 在 python IDLE 中运行
这是我正在操作的更新查询。此处错误“set data = :updateValue”,数据是 Dynamo DB 的保留关键字。我想我应该在这里使用 update ExpressionAttribut
根据维基百科,二元运算符 ?:是 colloquially referred to as the Elvis operator due to its resemblance to an emotico
我知道 AND 词定义了二进制 and ...但什么定义了逻辑and ? 最佳答案 同一个字,AND , 也用于逻辑与。但是这两个输入值要AND推荐为格式良好的标志 ; 真和 假 由两个值表示,位全部
反引号运算符的固定性是什么? 例如在 Real World Haskell 的这段代码中: ghci> (1+) `fmap` [1,2,3] ++ [4,5,6] [2,3,4,4,5,6] 很明显
我是一名优秀的程序员,十分优秀!