Python-函数的参数小结

参数转化:

复制代码
 1 def fun(a, b, c):
 2     print('a=', a)
 3     print('b=', b)
 4     print('c=', c)
 5 
 6 fun(10, 20, 30)
 7 lst = [10, 20, 30]
 8 fun(*lst) #函数调用时,将列表中的每个元素都转换为位置实参传入
 9 print('----------')
10 fun(a=100, b=200, c=300)
11 dic = {'a':100, 'b':200, 'c':300}
12 fun(**dic)
复制代码
复制代码
 1 def fun(a, b=10):
 2     print('a=', a)
 3     print('b=', b)
 4 
 5 def fun2(*args):
 6     print(args)
 7 def fun3(**args):
 8     print(args)
 9 
10 fun2(10, 20, 30, 40)
11 fun3(a=11, b=22, c=33, d=44)
12 
13 def fun4(a, b, c, d):
14     print('-----fun4------')
15     print('a=', a)
16     print('b=', b)
17     print('c=', c)
18     print('d=', d)
19 fun4(10, 20, 30, 40)
20 fun4(a=40, b=30, c=20, d=10)
21 fun4(10, 20, c=40, d=30)
22 # fun4(a=20, b=10, 30, 40) SyntaxError: positional argument follows keyword argument
23 
24 '''如何要求cd必须为关键字传参?'''
25 def fun5(a, b, *, c, d): # *之后,必须是关键字传参
26     print('-----fun5------')
27     print('a=', a)
28     print('b=', b)
29     print('c=', c)
30     print('d=', d)
31 fun5(a=40, b=30, c=20, d=10)
32 fun5(10, 20, c=40, d=30)
33 
34 '''函数定义时,形参的顺序问题'''
35 def fun7(a, b, *, c, d, **args):
36     pass
37 def fun6(*args1, **args2):
38     pass
39 def fun8(a, b=10, *args1, **args2):
40     pass
复制代码

 

posted @   Xxiaoyu  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示