在函数定义时,位于*parameter或单独一个星号*之后的所有参数都只能以关键参数的形式进行传值,不接收其他任何形式的传值

>>> def demo(a, b, *, c):#参数c必须以关键参数进行传值

print(a+b+c)

>>> demo(1, 2, c=3) #正确

6

>>> demo(1, 2, 3) #错误,引发异常

TypeError: demo() takes 2 positional arguments but 3 were given

>>> def demo(a, b, *p, c):#参数c必须以关键参数进行传值

print(a+b+c+sum(p))

>>> demo(1, 2, 3, 4, c=5) #正确

15

>>> demo(1, 2, 3, 4, 5) #错误,引发异常

TypeError: demo() missing 1 required keyword-only argument: 'c'

另外如果用help()函数查看sum()函数的帮助文档时,会发现sum()函数的最后一个参数是斜线,实际上这个斜线并不是sum()函数的参数,只是用来表明这个函数只接收位置参数,而不允许以关键参数的形式进行传值,如果遇到其他函数或对象方法显示这样的帮助文档也表示同样的含义。这样的函数是用C开发的,并对参数传值形式做的要求,在Python中并不允许定义这样的函数。感谢浙江温州永嘉县教师发展中心应根球老师提供的参考资料。这涉及到“Argument Clinic”的概念,感兴趣的朋友可以查阅有关资料。

>>> help(sum) #查看sum()函数的帮助

Help on built-in function sum in module builtins:

sum(iterable, start=0, /)

Return the sum of a 'start' value (default: 0) plus an iterable of numbers

When the iterable is empty, return the start value.

This function is intended specifically for use with numeric values and may

reject non-numeric types.

>>> sum([1, 2, 3], 4) #按位置参数对start进行传值

10

>>> sum([1, 2, 3], start=4)#不允许使用关键参数,引发异常

TypeError: sum() takes no keyword arguments

>>> def demo(a, b, /): #在Python中不允许这样定义函数

SyntaxError: invalid syntax

Python函数中单独一个星号或斜线作为形参的含义相关推荐

  1. 技术沙龙系列之:Python 函数参数前面一个星号(*)和两个星号(**)的区别

    下面来谈谈Python 函数参数前面一个星号(*)和两个星号(**)的区别,这也是许多小伙伴在学习时的一个困惑,简单为大家介绍一下: 在 Python 的函数中经常能看到输入的参数前面有一个或者两个星 ...

  2. Python函数参数前面一个星号(*)和两个星号(**)的含义

    这两种用法其实都是用来将任意个数的参数导入到 Python 函数中.这两个用法可以同时出现在一个函数中. 单星号(*):*agrs.将所有参数以元组(tuple)的形式导入 双星号(**):**kwa ...

  3. python函数定义中参数列表里的参数是_详解Python函数中参数带星号是什么意思

    函数的参数使用除了常规的位置参数和关键字参数外,还支持可变个数的函数参数,这种支持可变个数的参数方法称为参数收集,对应的参数称为收集参数. 一.参数收集的定义 Python的函数支持可变不定数量的参数 ...

  4. python中参数前面加星号是什么意思_详解Python函数中参数带星号是什么意思

    函数的参数使用除了常规的位置参数和关键字参数外,还支持可变个数的函数参数,这种支持可变个数的参数方法称为参数收集,对应的参数称为收集参数. 一.参数收集的定义 Python的函数支持可变不定数量的参数 ...

  5. python函数中把列表(list)当参数时的入坑与出坑

    在Python函数中,传递的参数如果默认有一个为 列表(list),那么就要注意了,此处有坑. 入坑 挖坑 def f(x,li=[]):for i in range(x):li.append(i*i ...

  6. python return函数_理解Python函数中的return关键字

    一.说明 return 语句是Python函数返回的结果,可以是数值.字符串.列表.表达式.函数等: return 语句将Python函数的结果,返回到调用的地方,并把程序的控制权一起返回,即在函数中 ...

  7. python 函数中参数的传递方式(三分钟读懂)

    python 函数中参数的传递方式 第一种:指定默认值 def fn1(a = 1): # 函数中的(a)是形参 和外面的变量无关 (这里的是定义函数中指定默认值)print("fn1&qu ...

  8. [转载] 详细介绍Python函数中的默认参数

    参考链接: Python函数中的默认参数 详细介绍Python函数中的默认参数 import datetime as dt def log_time(message, time=None): if t ...

  9. python类中包含一个特殊的变量、它表示当前对象自身_知到APP教师职场礼仪第七单元章节测试网课答案大学课后答案...

    [判断题]水参与了植物体内众多的生物化学反应. [单选题]所有参加保险的人为自己办理保险而合作成立法人组织的相互保险组织是( ). A. 相互保险公司 B. 相互保险社 C. 保险合作社 D. 保险合 ...

最新文章

  1. 光启数百万美元领投语音识别公司Beyond Verbal
  2. [LeetCode] Sum of Two Integers 两数之和
  3. Android数据存储与持久化
  4. 数据中心告别柴发还需要多久?
  5. PHP 汉字转拼音(首拼音,所有拼音)
  6. 织梦内容管理系统(DedeCMS)
  7. python实现弹幕_python实现b站直播自动发送弹幕功能
  8. [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了
  9. JAVA基础知识+基础代码
  10. 面向数据结构设计的基本思想
  11. eazyui ajax传值,jquery easyui ajax data属性传值方式
  12. vscode如何使用命令面板
  13. CAS 单点登录模块学习
  14. fopen()函数的文件模式
  15. mysql 去重命令_MySQL 命令操作
  16. Python案例实操1-网络爬虫
  17. 微信客服介绍和使用指引(4.19)
  18. 利用webmagic爬去招聘信息,并输入到Hbase数据库中
  19. linux centos 6.0下载,centos 6.0 下载 32/64位 最新高速下载地址 国内迅雷下载BT下载...
  20. 【教程】Spire.PDF教程:C# 如何提取 PDF 文档中的文本和图片

热门文章

  1. php date t_php date 参数
  2. python读大文件方法_使用Python读取大文件的方法
  3. c语言1E3是什么数据类型,C语言课件第2章数据类型和表达式.ppt
  4. 和方舟rust一样的手游_偶像梦幻祭2新活动 ES手游全新开服
  5. win创建linux目录,Windows与Linux上的文件创建时间
  6. python查看函数参数快捷键_python查看函数源代码快捷键_pycharm中查看源码的快捷键...
  7. 导出时间字段的处理_如何快速将发票信息导出到excel表格中?
  8. 修改服务器时间需要重启吗,云服务器需要定期重启吗
  9. linux主机设备acl,linux上的终端类型、ACL、PAM模块
  10. python学习知识以及就业方向_Python需要学到什么技术 学完可以从事哪些行业