加入收藏 | 设为首页 | 会员中心 | 我要投稿 揭阳站长网 (https://www.0663zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Python函数的参数类型

发布时间:2021-04-20 17:32:44 所属栏目:外闻 来源:互联网
导读:bmi函数就有了两种类型的参数:weight和height,它们是函数调用时必不可少的参数,且顺序必须与函数定义的保持一致,这样的参数称为位置参数;name是函数调用时可有可无的参数(如未提供,则使用默认值),这样的参数称为默认参数。默认参数可以有多个。 为了使

bmi函数就有了两种类型的参数:weight和height,它们是函数调用时必不可少的参数,且顺序必须与函数定义的保持一致,这样的参数称为位置参数;name是函数调用时可有可无的参数(如未提供,则使用默认值),这样的参数称为默认参数。默认参数可以有多个。

为了使结果更准确,可以考虑使用最近一段时期内多个体重的均值来计算体重指数,这就意味着需要输入多个体重值。我们固然可以一个体重的元组或列表传给weight,但这样weight和height就不是同一种类型了,在形式上失去了美感,在使用时也容易产生误会。最好的方式就是让函数可以接受不确定个数的体重参数。就有点复杂了,bmi函数有了三种类型的参数。除了位置参数和默认参数,又多了一种可变参数,即bmi函数可以接受不限数量的参数。在函数定义时,可变参数名前面冠以“*”号;在函数体内,可变参数相当于一个元组。

如此一来,就产生了一个新的问题:三种类型的参数应该以怎样的顺序被定义呢?位置参数排在首位,这一点没有异议。默认参数原则上放在最后,但调用时必须加上参数名(如上面的例子),否则函数无法区分究竟是可变参数还是默认参数。默认参数也可以放在可变参数之前(不建议这样做),但调用时不能使用参数名,即便使用默认值也不能省略参数,否则函数会用后面的可变参数的第一个值(如果有的话)强制为其赋值。

下面说一说更复杂的情况。除了上面介绍的三种类型的参数外,Python函数还支持第四种类型的参数:关键字参数。关键字参数由不限数量的键值对组成。在函数定义时,关键字参数名前面冠以“**”号;在函数体内,关键字参数相当于一个字典。一个函数同时具备了上述四种类型的参数,函数定义时参数的正确顺序应该是位置参数排在首位,可变参数次之,默认参数再次之,关键字参数排在末尾。函数调用时,如果需要指定默认参数,其参数名不能

(编辑:揭阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读