当前位置:新励学网 > 秒知问答 > python中可变函数怎么定义

python中可变函数怎么定义

发表时间:2024-07-28 05:37:06 来源:网友投稿

如果我们想要在调用函数时,少输入一些变量。我们可以在定义函数值,输入一些默认的参数值:

def add(a, b = 2, c = 3):

return a + b + c

print(add(2))

output: 7

1

2

3

4

1

2

3

4

add函数有3个变量,那么我们在定义它的时候,后俩个变量被我们赋予了默认参数值分别是2和3。若没有在调用时,明确给出后俩个变量的参数值,那么python会自动调用默认参数值。

合法调用方式:

add(2),add(2,3),add(2,4,5)

非法定义方式:

def add(a,b = 2, c):

return a + b + c

1

2

3

4

5

1

2

3

4

5

但是要注意当你定义了第一个变量的默认参数值后,那么后面的变量必须全部都带有默认参数值。

参数量可变的函数定义

在python中有一个∗ *∗运算符,来实现可变参数的函数定义。

*的用法,列表的解包:

arg = [2,4]

for i in range(*arg):

print(i)

字典的解包直接为函数提供关键字以及参数:

d = {'a':1,'b':2,'c':3}

def add(a,b,c):

return a + b + c

print(add(**d))

output:6

1

2

3

4

5

6

7

8

9

10

1

2

3

4

5

6

7

8

9

10

当存在一个形式为 **name 的最后一个形参时,它会接收一个字典,其中包含除了与已有形参相对应的关键字参数以外的所有关键字参数。 这可以与一个形式为 *name,接收一个包含除了与已有形参列表以外的位置参数的 元组 的形参组合使用 (*name 必须出现在 **name 之前。) 例如,如果我们这样定义一个函数:

def cheeseshop(kind, *arguments, **keywords):

print("-- Do you have any", kind, "?")

print("-- I'm sorry, we're all out of", kind)

for arg in arguments:

print(arg)

print("-" * 40)

for kw in keywords:

print(kw, ":", keywords[kw])

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

我们可以这样去调用它:

cheeseshop("Limburger", "It's very runny, sir.",

"It's really very, VERY runny, sir.",

shopkeeper="Michael Palin",

client="John Cleese",

sketch="Cheese Shop Sketch")

1

2

3

4

5

1

2

3

4

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!