专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

python中可变函数怎么定义_python

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/9 1:09:56       共计:3570 浏览

python中可变函数怎么定义?

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

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

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:python如何编译生成二进制文件_python | ·下一条:为什么微信滴滴出行登录不了_服务器

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有