1分钟掌握 Python 函数参数

任何编程语言函数都是非常重要的一部分,而在进行函数调用时,了解函数的参数传递方式是非常有必要的。Python中支持哪些传参方式呢?

 

Python中的传参方式是比较灵活的,主要包括以下六种:

 

  • 按照位置传参

  • 按照关键字传参

  • 默认参数

  • 元组传参

  • 字典传参

  • 综合传参

 

按照位置传参

更多Python视频、源码、资料加群683380553免费获取

顾名思义,实参与形参数目一致,并且是按照位置一一对应的。

def func(a, b):
    return a+b*2

当调用函数func(1,2)时,则按照a=1,b=2的方式形参与实参对应,返回结果为5。

 

按照关键字传参

 

这种方式在调用函数时既传实参,也传形参。因而,不需要根据位置对应了,位置可以颠倒:

def func(a, b):
    return a+b*2

当调用函数func(b=1,a=2)时,则按照b=1,a=2的方式形参与实参对应,匹配的方式是关键字而非位置,返回结果为4。

 

默认参数

 

默认参数必须放在前两类参数之后,在调用函数的时候可以传参,也可以不传。不传则采用默认的参数值。

def func(a, b, c = 3):
    return a+b*2+c

其中,c为默认参数。当通过func(1,2)调用函数时,c的取值为默认值3,函数的执行结果为8;当通过func(1,2,5)调用函数时,c的取值为实参值5,函数的执行结果为10。

 

元组传参

 

传入的参数以元组的形式呈现,长度不限,可以通过元组的访问方式依次访问各个入参:

def func(*args):
    for eacharg in args:
        print ('tuple arg:', eacharg)

调用方式如下:func('I', 'Love', 'PythonSomething')

更多Python视频、源码、资料加群683380553免费获取

调用结果为:

tuple arg: I
tuple arg: Love
tuple arg: PythonSomething

字典传参

 

传入的参数以字典的形式呈现,长度不限,可以通过字典的访问方式依次访问各个入参:

def func(**kwargs):
    for eachkwarg in kwargs.keys():
        print('Dict Arg', eachkwarg, ':', kwargs[eachkwarg])

调用方式如下:

func(English_name = 'PythonSomething',  Chinese_name= 'Python那些事')

 

调用结果为:

Dict Arg English_name : PythonSomething
Dict Arg Chinese_name : Python那些事

综合传参

 

是以上几种传参方式的综合。实际上,大家从上面的例子也可以发现,元组传参和字典传参已经能够满足大部分传参场景。所以,通常所的综合传参指的是这两种的组合,大家在源码中也经常会发现它们的身影:

def func(*args,**kwargs):
    for eacharg in args:
        print('tuple arg:', eacharg)

    for eachkwarg in kwargs.keys():
        print('Dict Arg', eachkwarg, ':', kwargs[eachkwarg])

调用示例为:

func('I', 'Love', 'PythonSomething', English_name = 'PythonSomething',  Chinese_name= 'Python那些事')

 

调用结果为:

tuple arg: I
tuple arg: Love
tuple arg: PythonSomething
Dict Arg Chinese_name : Python那些事
Dict Arg English_name : PythonSomething
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种灵活而简洁的编程语言,其自定义函数非常强大。而在Python中,函数参数的传递方式也是非常灵活的,可以通过传递不同类型的参数来满足各种不同的需求。本文将介绍Python中的参数传递方法,并以代码示例来说明。 1. 位置参数 位置参数是默认的参数传递方式。当我们定义一个函数时,在函数的括号内定义的参数即为位置参数。调用函数时,传递的参数与定义的顺序对应。 我们来看一个求和函数的例子: ``` def sum(a, b): return a + b print(sum(3, 4)) ``` 在这个例子中,函数接受两个位置参数a和b,分别为3和4,返回它们的和7。 2. 关键字参数 关键字参数是通过指定参数名称来传递的,它不需要按照位置的顺序传递所有参数。 我们还是以求和函数为例,只不过这次我们使用关键字参数: ``` def sum(a, b): return a + b print(sum(a=3, b=4)) ``` 在这个例子中,我们使用了关键字参数a=3和b=4。函数会根据指定的参数名称来计算它们的和。这样的话,即使我们颠倒顺序给定参数的值,我们还是能够正确计算和。 3. 默认参数 默认参数是在定义函数时指定的一个固定的值,在调用函数时可以不传递该参数值。如果调用函数时没有传递该参数,则使用默认值。 以下是一个带有默认参数的函数示例: ``` def greeting(name="World"): print("Hello, " + name) greeting("John") greeting() ``` 在这个例子中,函数接受一个默认参数name="World",如果调用时没有传递参数,则默认使用"World"。第一个调用传递了非默认参数"John",因此输出为"Hello, John"。第二个调用没有传递参数,因此使用默认值 "World",输出为"Hello, World"。 4. 可变参数 有时候我们需要传递不确定数量的参数。这时可以使用可变参数。Python中有两种可变参数: * *args:可以接受多个位置参数,以元组(tuple)的形式传递。 * **kwargs:可以接受多个关键字参数,以字典(dictionary)的形式传递。 以下是一个带有可变参数的函数示例: ``` def calculate(*args): result = 0 for n in args: result += n return result print(calculate(1, 2, 3)) print(calculate(1, 2, 3, 4, 5, 6)) ``` 在这个例子中,函数calculate接受可变位置参数,将它们相加并返回结果。第一个调用传递了3个位置参数,因此结果为6。第二个调用传递了6个位置参数,因此结果为21。 5. 其他注意事项 * 如果可变参数和其他参数同时使用,可变参数要放到最后。 * 可以组合多种参数传递方式,比如位置参数、关键字参数和可变参数。 总而言之,Python自定义函数的参数传递非常灵活多变,能够满足不同的需求。掌握这些参数传递方式,可以更加高效地编写Python程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值