ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python基础 函数定义 返回值 参数

2019-11-10 23:50:35  阅读:173  来源: 互联网

标签:定义 python args kwargs print 返回值 实参 def 函数


函数定义

1 #python中函数定义。def函数定义的关键字,fun1函数名,x为函数的形参可以有多个,多个之间用“,”隔开;return 函数返回值的关键字,python中return可以是非必要
2 def fun1(x):
3     x += 1
4     return x

函数返回值

1 # 函数返回值可以有多个,之间使用“’”分隔,返回值讲多个值组成的元组进行返回。 当无return时python会隐式return “None”,如果只返回一个值就返回这个值本身
2 def fun2(x, y):
3     return x, y
4 print(fun2(3,4), type(fun2(3,4))) #(3, 4) <class 'tuple'>
5 print(fun1(5), type(fun1(5))) #6 <class 'int'>
6 def fun3(x,y):
7     z = x + y
8 print(fun3(1,2),type(fun3(1,2))) #None <class 'NoneType'>

函数的参数以及调用

 1 #函数调用形式:函数名(实参)fun3为函数名,1和2为函数实参,实参分别传递给fun3函数定义的形参x和y,两者一一对应。
 2 fun3(1,2)
 3 
 4 #函数非固定参数

5 #默认参数:函数定义时直接给形参赋值,此值即作为默认的实参值如果函数调用时实参没有给此传递实参,默认参数的形参需要写在所有参数的最后面 6 def fun4(x, y=2): 7 print(x, y) 8 fun4(3, 4) #3 4 9 fun4(3) #3 2 10 11 #可变参数 12 #*args:可以接收多个实参,args是这多个实参组成的元组,*args需要写在非默认形参之后,默认形参之前 13 def fun5(*args): 14 print("args is :", args) 15 print("*args is :", *args) 16 fun5(1, 2, 3) #args is : (1, 2, 3);*args is : 1 2 3; 17 #相反的,当存在一个元组或者列表,我们想直接取其中的数值而不是列表本身也可以使用*符号,如下示例中fun6需要传入两个参数,而实际传递的为一个列表,可以对此列表取*操作 18 def fun6(x, y): 19 print(x + y) 20 for i in [[1, 2], [3, 4], [5, 6]]: # 3 7 11 21 fun6(*i) 22 23 24 #**kwargs将多个关键字参数转换为字典,kwargs是这多个实参组成的字典,**kwargs需要写在*args之后,默认形参之前 25 def fun7(**kwargs): 26 print("kwargs is :", kwargs) #**kwargs是多个键值对不是数据结构无法打印 27 fun7(name="xx1",age=29) #kwargs is : {'name': 'xx1', 'age': 29} 28 #相反的,当存在一个字典,我们想直接取其中k:v不是字典本身也可以使用**符号,如下示例中fun6需要传入两个参数,而实际传递的为一个列字典,可以对此字典取**操作 29 for i in [{"x":1, "y":2}, {"x":3, "y":4}, {"x":5, "y":6}]: 30 fun6(**i) # 3 7 11

 



标签:定义,python,args,kwargs,print,返回值,实参,def,函数
来源: https://www.cnblogs.com/flags-blog/p/11832451.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有