我们来看之前这个函数的书写形式:
ret()
为什么函数后面要加括号呢,是因为括号内是预留给参数的位置,当没有参数的时候,括号内为空,当需要参数的时候,情况就不同了
【函数参数】
以下是一个使用函数参数的例子:
# coding: utf-8
def greeting(name):
print('Hello ',name)
greeting('Lady')
greeting('Bro')
可以看到,本例中的greeting()函数接收一个name参数,根据name的不同,它会打印不同的结果
接受参数使得函数拥有了更大的灵活性,这就是参数的作用
一个函数也可以接受多个参数,参数之间用逗号隔开
在函数的参数传递过程中,有两个比较抽象的概念:形式参数和实际参数
【形式参数】
在函数定义阶段括号内所填写的参数,简称"形参"
def func(a, b):
pass
a和b就是函数func的形参
【实际参数】
在函数调用阶段括号内传入的参数,简称"实参"
func(1,2)
数据1和2就是函数func的实参
形参是函数定义时列出的参数,它们代表了传递给函数的值的占位符。当函数被调用时,实参将替代这些形参
那么,在使用多个参数时,python是怎么处理的呢?
【位置参数】
位置参数是函数的一种默认赋值方式,按照从左到右的位置顺序依次赋值
# coding: utf-8
def minus(a,b):
print('a-b=',a-b)
minus(5,3)
minus(3,5)
可以看到minus(5,3)和minus(3,5)运行的结果是不一样的
因为a,b有先后顺序
【关键字参数】
有时,为了避免位置参数赋值带来的混乱,python提供使用参数名赋值的方式
# coding: utf-8
def minus(a,b):
print('a-b=',a-b)
minus(a=5,b=3)
minus(a=3,b=5)
minus(b=3,a=5)
minus(a=5,b=3)等同于minus(5,3)
minus(a=3,b=5)等同于minus(3,5)
但是,当使用minus(b=3,a=5),即使调换了a、b的顺序
依然能够正确显示a-b=2
这就是关键字的作用
【默认参数值】
在定义函数时,有的时候可以指定某个参数的默认值,这样,当函数调用没有指定该参数时使用默认值
# coding: utf-8
def add(a,b=0):
print('a+b=',a+b)
add(5)
add(5,2)
当运行add(5)时,b取默认值0,a+b=5+0=5
当运行add(5,2)时,b的值被覆盖为2,a+b=5+2=7
默认参数值使得函数的使用更加灵活
※注意,有默认值的参数要放在无默认值参数的后面,不然程序会报错
# coding: utf-8
def add(a=0,b):
print('a+b=',a+b)
add(5)
add(5,2)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。