Python学习笔记:函数参数

来源:互联网 发布:郑州软件测试招聘 编辑:程序博客网 时间:2024/05/21 05:59

Python学习笔记:函数参数

定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。

Python的函数参数十分灵活,可以分为:

  1. 必选参数:作为函数调用的接口所必须具备的参数。
  2. 默认参数:为了方便函数调用者调用函数,将一些参数设置为默认参数,可以大大简化函数参数的调用。设置默认参数的时候,必须要注意必选参数在前,默认参数在后。

默认参数还有一点需要特别注意:默认参数必须是不可变对象,对于默认参数是可变对象,在没有实际参数传入默认参数的情况下,会使用默认参数,而默认参数隶属于函数开辟的命名空间(Local)属于函数内部的计算空间,对于默认参数是可变对象,每次改变都会在专属于默认参数的那片内存空间修改,并作为函数的内部计算空间得以保留。

可变参数:可变参数顾名思义就是说函数的参数个数是可以动态变化的,可以是一个、两个或者零个。传统传入多个不确定参数的时候,首先会想到用list或者tuple,然后for循环遍历;使用可变参数,只需要在参数名前+*就可以,实质上在函数内部仍然会把接收的参数作为tuple进行处理,所以源代码不需要修改。args是可变参数,args接收的是一个tuple

关键字参数:在可变参数中允许你将一系列参数传递进去,可变参数将自动将一系列参数转变为tuple,而关键字参数则允许你将一系列参数转变为dict,它会将你传入的“参数名=参数”形式转换成为dict中键值对的形式。关键字参数有什么用?它可以扩展函数的功能。kw是关键字参数,kw接收的是一个dict。

参数组合:
在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数

0 0
原创粉丝点击