首页 > python基础教程> 详细内容
(42)python少儿编程之函数(三)
日期:2020-02-26 

keyword-only参数(python3加入)

  • 如果在一个*参数后,或者一个位置可变参数后,出现的普通参数,实际上已经不是普通的参数了,而是keyword-only参数

(42)python少儿编程之函数(三)
  • 如图,x输入实参的时候必须要用关键字了,否则就没法和之前位置可变参数的区别,大家可以试试,如果不录入x=5,是不是会报错?
  • 那能不能def fn(**kwargs,x)呢? 答案是不行,因为都用了关键字参数,x就不知道分给谁了,会报错!

(42)python少儿编程之函数(三)
  • 作用:为了让x,y 变成关键字参数,前面加一个*即可。这是一种特殊的写法。
  • 如果你用位置参数写入,你会发现就报错!

(42)python少儿编程之函数(三)
  • 如图,你会发现*之后的会影响,但是z没有影响!
  • 所以回顾这个概念,在*参数之后的参数,变成keyword-only参数,也就是必须用关键字实参传入才可以,否则就会报错!
  • 拿这几个例子,练习一下,你就会明白的很透彻!