0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python 3.0的Keyword-Only参数介绍

jf_78858299 来源:人工智能知识分享 作者:人工智能知识分享 2023-02-21 14:31 次阅读

Python 3.0的Keyword-Only参数就是指必须只按照关键字传递参数。

出现在参数列表中的*args之后的所有参数都必须在调用中使用关键字语法来传递。例如,在如下的代码中,a可以按照名称或位置传递,b会收集任何额外的位置参数,而c必须只按照关键字传递:

> > > def kwonly(a,*b,c):

... print(a,b,c)

...

> > > kwonly(1,2,c=3)

1 (2,) 3

> > > kwonly(a=1,c=3)

1 () 3

> > > kwonly(1,2,3)

TypeError: kwonly() needs keyword-only argument c

我们也可以在参数列表中使用一个*字符,来表示一个函数不会接受一个变长的参数列表,并且要求跟在*后面的所有参数都作为关键字传递。在下面的函数中,a可以按照位置或名称传递,但b和c必须按照关键字传递:

> > > def kwonly(a,*,b,c):

... print(a,b,c)

...

> > > kwonly(1,c=3,b=2)

1 2 3

> > > kwonly(c=3,b=2,a=1)

1 2 3

> > > kwonly(1,2,3)

TypeError: kwonly() takes exactly 1 positional argument (3 given)

> > > kwonly(1)

TypeError: kwonly() needs keyword-only argument b

我们仍然可以对keyword-only参数使用默认值。在下面的代码中,a可以按照名称或位置传递,而b和c是可选的,但是如果使用的话必须按照关键字传递:

> > > def kwonly(a,*,b='spam',c='ham'):

... print(a,b,c)

...

> > > kwonly(1)

1 spam ham

> > > kwonly(1,c=3)

1 spam 3

> > > kwonly(a=1)

1 spam ham

> > > kwonly(c=3,b=2,a=1)

1 2 3

> > > kwonly(1,2)

TypeError: kwonly() takes exactly 1 positional argument (2 given)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3904

    浏览量

    61311
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66819
  • python3
    +关注

    关注

    0

    文章

    18

    浏览量

    3858
收藏 人收藏

    评论

    相关推荐

    参数类型(2)#Python

    参数python
    未来加油dz
    发布于 :2023年08月26日 22:57:44

    新手Python学习该学Python2还是Python3

    2与Python3到底有何区别呢?1.性能Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可以取得很好的优化结果。Py3.1
    发表于 04-17 16:11

    keil设置里面,字体颜色选项中没有keyword怎么解决??

    昨天装的keil4,想设置成代码里面关键字高亮,但选项里面没有keyword是怎么回事,有大佬知道吗?是不是我这个要再下载什么补丁才能用啊
    发表于 01-06 14:43

    使用python设定相关参数

    使用python设定相关参数: fs, 采样点数 采样时间 etc..MCU使用自带ADC 根据pc设定的采样率fs进行采集后通过uart将数据回传.Python可以直接对数据简单处理,或者保存成csv方便...
    发表于 08-17 06:08

    适用于非None测试的Python程序分享

    电源变换适用于非独立源码As we have discussed in the previous post (Python None keyword), that "None"
    发表于 12-30 07:27

    python11个案例讲解函数参数

    ;, line 1, in TypeError: demo_func() missing 1 required keyword-only argument: 'b'>>>>>>
    发表于 03-01 16:39

    Python编程之SQLITE-DTU701 辉为科技

    相比 MySQL 而言,SQLite 更为轻便、易于维护和部署。本文使用Python向SQLite数据库中插入温度数据,SQLite数据库中包含一张只包含三个字段的记录表——参数名称,时间和温度值
    发表于 06-01 19:48

    Python语言介绍及开发环境

    Python语言介绍及开发环境说明。
    发表于 04-26 09:51 9次下载

    FPGA和USB3.0通信-USB3.0 PHY介绍

    可以和FPGA搭配使用的USB3.0 PHY芯片通过之前的介绍
    发表于 12-20 19:11 32次下载
    FPGA和USB<b class='flag-5'>3.0</b>通信-USB<b class='flag-5'>3.0</b> PHY<b class='flag-5'>介绍</b>

    电源变换适用于非独立源码_适用于非None测试的Python程序

    电源变换适用于非独立源码As we have discussed in the previous post (Python None keyword), that "None
    发表于 01-07 13:23 1次下载
    电源变换适用于非独立源码_适用于非None测试的<b class='flag-5'>Python</b>程序

    10种聚类介绍Python代码

    分享一篇关于聚类的文章,10种聚类介绍Python代码。
    的头像 发表于 07-30 10:25 1516次阅读

    介绍python列表的边界和嵌套

    本文介绍python列表的边界和嵌套。只能访问python列表范围内的项,python列表可以嵌套python列表。
    的头像 发表于 02-27 14:49 684次阅读

    介绍Python中文件创建与写入的基本方法

    Python 文件写入和创建是 Python 开发中必须掌握的技能之一。在本文中,我们将介绍 Python 中文件创建与写入的基本方法
    的头像 发表于 04-27 09:22 2898次阅读

    Python常用的几个命令介绍

    Python是一种功能强大的编程语言,广泛用于数据分析、人工智能和Web开发等领域。在使用Python时,需要掌握一些基本的命令,以便更好地管理和运行代码。下面将介绍Python常用的
    的头像 发表于 06-21 17:12 1860次阅读

    Python 函数参数分类

    今天给大家分享一下自己整理的一篇 Python 参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上 80% 的文章讲的都要明白,如果你是入门不久的 python 新手,相信本篇
    的头像 发表于 10-21 10:45 232次阅读