最近学习python,学到了函数传参,看到了以下这个特殊情况,特此来做个笔记

def add(*, x, y):

print(x, y)

以上函数定义后,该怎么传参?前面的那个*号是做什么用的?

我们可不可以照以下方式 传参?

add(5, 6, 7),这样传参可不可以?会不会有错?

我们来看结果

提示参数过多,看来这样传参不对

看来这样也不行

这样也不可以,那怎么传才对呢?按道理上面的传法应该是正确的为什么还报错?

这次终于对了,为什么呢,因为定义函数参数时候,如果定义了位置参数,并且在最前面加了*号,那么位置参数就必须以关键字的方式传参了,否则就会报错了。

来看下变种

def add(x, *, y, z):

print(x, y, z)

以上参数该怎么传?

add(5)可以吗?

提示缺少2个参数, y z并且要求是关键字参数,那么第一个参数是正确的,只是缺少参数

这次可以了,由此可见,*号后面的参数必须以关键字传参,*号前面是正常的位置参数,那么我们想下*args前后是不是也是这个道理呢?

转载于:https://www.cnblogs.com/hh2737/p/9176598.html

python笔记之强制函数以关键字参数传参相关推荐

  1. 初学者python笔记(map()函数、reduce()函数、filter()函数、匿名函数)

    文章目录 一.匿名函数 二.map()函数 三.reduce()函数 四.filter()函数 五.三大函数总结 本篇文章内容有Python中的匿名函数和map()函数.reduce()函数.filt ...

  2. 轩小陌的Python笔记-day13 匿名函数、生成器、内置函数、推导式

    day13 内置函数和推导式 今日概要: 匿名函数 生成器 内置函数 附加:推导式,属于数据类型的知识,内部的高级的用法会涉及到[生成器]和[函数]的内容. 1. 匿名函数 传统的函数的定义包括了:函 ...

  3. python笔记2(函数 面向对象 文件编程 上下文管理器)

    记录python听课笔记 文章目录 记录python听课笔记 一,函数 1.介绍python里的函数 2.用户自定义函数 3.变量的作用域 4.参数的传递 5.参数的默认值 6.向函数内部批量传递数据 ...

  4. 笨方法“学习python笔记之print()函数end

    在<"笨方法"学习python>中的第7个习题中的用例代码中有print()函数的end用例 代码如下: end1 = "C" end2 = &qu ...

  5. python中定义匿名函数的关键字是,Python中的匿名函数

    写python的时候,大多数场景下,我都是if else选手,因为最核心的逻辑几乎都是通过if else语句来实现的.关于匿名函数这块儿,其实可以用常见的循环等方法来实现,但是如果你想成为一个pyth ...

  6. python笔记之function函数

    函数 函数:对实现某一功能进行封装,就是函数. 特点:提高了代码的复用性 函数的定义: def 函数名称(参数):函数体代码return 返回值 函数的调用:函数名(参数) 函数的参数: 形式参数: ...

  7. Python笔记之自定义函数

    Python3 定义函数 Python3 定义函数 定义一个函数 语法 实例求解二元一次方程 函数调用 参数传递 可更改mutable与不可更改immutable对象 python 传不可变对象实例 ...

  8. python笔记06: 函数

    函数 代码的一种组织形式 一个函数一般完成一项特定的功能 函数使用 函数需要先定义 使用函数,俗称调用 # 定义一个函数 # 只是定义的话不会执行 # 1. def关键字,后跟一个空格 # 2. 函数 ...

  9. python笔记更新(函数)

    函数 函数的介绍 函数就是一堆准备好的代码,在需要的时候调用这一堆代码. 不使用函数的缺点:冗余,可读性很差,维护性太差 把多行代码封装成一个整体(函数) # 在Python里,使用关键字 def 来 ...

最新文章

  1. maven中pom.xml中依赖包代码的查询地址
  2. 论文《Attention Is All You Need》及Transformer模型
  3. mysql 整形转换_mysql IP地址整形转换
  4. 重温Servlet学习笔记--response对象
  5. rocket-console控制台安装
  6. WordPress 博客平台
  7. Android IOS WebRTC 音视频开发总结(六三)-- 2016国内IM云服务行业分析
  8. Frida android抓包
  9. python批量发送邮件_python批量发邮件
  10. 新知实验室TRTC初探
  11. OpenCV + ORC 实现身份证识别
  12. anaconda3 复制or克隆环境
  13. 用Excel编辑SQL脚本
  14. 数电和计算机网络,数电计算机网络试卷2010A.doc
  15. 第一眼就心动的人还怎么做朋友
  16. 医院信息系统网络安全等级保护2.0标准解读
  17. BUAA 439 孟竹屌丝玩儿游戏
  18. 日常训练 20170708 贝加尔湖畔baikal
  19. MIIX510(MIIX5)如何进入BIOS
  20. Eclipse中XML文件以表格形式显示

热门文章

  1. 手机访问内网IIS服务器网页的方法
  2. 案例讲解asp.net中jquery post的用法
  3. 如何过滤某一频率的声音
  4. Transformer-XL: Attentive Language ModelsBeyond a Fixed-Length Context 论文总结
  5. Java如何将指定字符串转化为指定日期格式
  6. 数字图像处理--图像的缩放变换
  7. oracle数据库dblink创建语句_3场直播丨达梦DM8数据库安装部署初体验、新基建下的国产数据库应用和发展趋势、Oracle外部表创建与使用...
  8. SSM整合(相关jar包需求)
  9. 【入门2】分支结构 (今天刷洛谷了嘛)
  10. php上js实现ajax请求,原生JS如何实现Ajax通过POST方式与PHP进行交互的方法