python中的函数参数主要有哪四种_python函数定义参数四种方式示例

在python编程中,有时会看到函数传参数时参数前面加一个星号*或两个星号**,这是如何实现的?

python函数参数定义的四种方式:

1. F(arg1,arg2,…)

最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用时,必须在函数名后的小括号里提供个数相等的值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应,也就是说第一个形参对应这第一个实参。

例如: def a(x,y):print x,y

调用该函数,a(1,2)则x取1,y取2,形参与实参相对应,如果a(1)或者a(1,2,3)则会报错。

2. F(arg1,arg2=value2,…)

第一种的改进版,提供了默认值,例如: def a(x,y=3):print x,y

调用该函数,a(1,2)同样还是x取1,y取2,但是如果a(1),则不会报错了,此时x还是1,y则为默认的3。

以上两种方式,还可以更换参数位置,比如a(y=4,x=3)用这种形式也是可以的。

3. F(*arg1)

上面两种方式是有多少个形参,就传进去多少个实参,但有时会不确定有多少个参数,则此时第三种方式就比较有用,它以一个*加上形参名的方式来表示这个函数的实参个数不定,可能为0个也可能为n个。

注意,不管有多少个,在函数内部都被存放在以形参名为标识符的元组中。 代码示例:

def a(*x):print x

>>> a(1,2,3)

(1, 2, 3)

>>> a(x=1,y=2,z=3)

Traceback (most recent call last):

File "", line 1, in

dule>

TypeError: a() got an unexpected keyword argument 'x'

4. F(**arg1)

形参名前加两个*表示,参数在函数内部将被存放在以形式名为标识符的dictionary中,这时调用函数的方法则需要采用arg1=value1,arg2=value2这样的形式。 代码示例:

def a(**x):print x

>>> a(x=1,y=2,z=3)

{'y': 2, 'x': 1, 'z': 3} #存放在字典中

>>> a(1,2,3) #这种调用则报错

Traceback (most recent call last):

File "", line 1, in

TypeError: a() takes exactly 0 arguments (3 given)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python ,可以在定义函数时指定一个或多个参数。如果你想在函数使用已有的变量,可以将其传递给函数作为参数。例如: ``` def my_function(my_variable): print("The value of my_variable is:", my_variable) # 调用函数并传递变量作为参数 my_variable = 42 my_function(my_variable) ``` 在上面的示例,我们定义了一个名为 `my_function` 的函数,该函数接受一个名为 `my_variable` 的参数。我们然后将一个名为 `my_variable` 的变量设置为整数值 `42`,并将其作为参数传递给 `my_function`。函数将打印出 `The value of my_variable is: 42`。 在函数定义,你还可以提供默认参数值,这样在调用函数时可以省略这些参数。例如: ``` def my_function(my_variable, my_default_variable=10): print("The value of my_variable is:", my_variable) print("The value of my_default_variable is:", my_default_variable) # 调用函数并传递一个参数 my_variable = 42 my_function(my_variable) # 调用函数并传递两个参数 my_variable = 42 my_default_variable = 20 my_function(my_variable, my_default_variable) ``` 在上面的示例,我们定义了一个名为 `my_function` 的函数,该函数接受两个参数 `my_variable` 和 `my_default_variable`。`my_default_variable` 参数设置了一个默认值 `10`。我们首先调用 `my_function` 并传递变量 `my_variable` 作为参数。该函数将打印出 `The value of my_variable is: 42` 和 `The value of my_default_variable is: 10`。然后我们调用 `my_function` 并传递变量 `my_variable` 和 `my_default_variable` 作为参数。该函数将打印出 `The value of my_variable is: 42` 和 `The value of my_default_variable is: 20`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值