def函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | # 无参数 def fun1(): print ( 1 , '无参数' ) fun1() # 带返回值 def fun2(): return 999 print (fun2(), '带返回值' ) # 有参数 def fun3(a, b): print (a, b, '带参数' ) fun3( 1 , 3 ) # 默认参数 def fun4(a, b = 333 ): print (a, b, '默认参数' ) fun4( 1 ) # 指定参数 def fun5(a, b): print (a, b, '指定参数' ) fun5(b = 1 , a = 2 ) # 动态参数(将多余参数传递到args,转成元祖.键值对形式的,传递到kwargs转成字典.kwargs的实参或形参不能在args的实参或形参之前) def fun6(a1, * args, * * kwargs): print (a1, args, kwargs) fun6( 1 , 2 , 3 , 4 , 5 , 6 , 7 , a = 1 , b = 2 , c = 3 , d = 4 ) lis = [ 11 , 22 , 33 , 44 ] dic = { 'aa' : 10 , 'bb' : 20 , 'cc' : 30 } # 这种直接写变量名,会把lis和dic当成两个元素,在args里生成这两个元素的元祖 fun6( "a" , lis, dic) # 加上* 和**,就是直接把lis放到args,dic放到kwargs里 fun6( 'b' , * lis, * * dic) # args传值示例 l1 = [ 'hello' , '!!!' ] s1 = '{0} world {1}' print (s1. format ( * l1), 'args' ) # kwargs传值示例 s2 = '{a1} world {b2}' d1 = { 'a1' : 'hello' , 'b2' : '!!!' } print (s2. format ( * * d1), 'kwargs' ) # 简单函数lambda表达式 fun7 = lambda x, y = 3 : x * y print (fun7( 15 , 10 ), 'fun7' ) exit() |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步