'''
函数:
1、减少代码重用性
2、易维护
3、可扩展性强
4、类型function

定义函数:
def 函数变量名():

函数的调用:
1、函数名加括号
2、函数如果没被调用,不会去执行函数内部的代码

函数的返回值:
1、函数如果没有return 默认返回None(add()=None)
2、函数通过 关键字 return 返回 值
3、函数执行时,遇到return,退出函数的执行,并返回结果
4、函数 return 能 return多个值, 把多个值 组成一个 元祖返回

l = [1,2,2,22,2,2,2,]

def add():
s = 0
return [1, 2, 3, 4,5 ,6 , 7, format, False, {}, (), [], "", None]

c = add()
'''

'''
函数的参数:
形参:
位置参数:
1、函数定义位置参数后,调用函数时,有几个位置参数,就得传几个实参
2、位置参数与实参 一一对应

默认参数(给予初始值):
1、函数在定义形参时,指定参数的 值 叫默认参数
2、调用函数时,默认参数可以不用传
3、调用函数时,如果传入 值 给默认参数,那默认参数的值 就是 传入的 值
4、默认参数必须在 位置参数的右边(实参中也一样,但是顺序可变。如:)

def func(x,y,z,l):
return(x+y+z+l)
print(func(1,2,l=3,z=8)) 打印结果为14

可变长参数:
*args:
1、能接受任意类型参数,把接收的参数组成一个元祖()

def func(x,*args): 打印结果:
print(x) 1
print(args) ([1,2,3],)
func(1,[1,2,3])

2、*iterable(能被for循环的对象)

*[1,2,3], 会把列表for循环后,把循环出的参数一个个的给到args,如下:
def func(x,*args): 打印结果:
print(x) 1
print(args) (1,2,3)
func(1,*[1,2,3])

3、调用函数时,args可以不用传(args默认为元祖())
def func(x,*args): 打印结果为:
print(x) 1
print(args) ()
func(1)
**kwargs:
1、把接收的参数组成一个字典{}(一般参数为赋值表达式)

def func(x,**kwargs): 打印结果为:
print(args) {'c': 3, 'b': 2, 'a': 1}
func(1,a=1,b=2,c=3)

2、**{"2":2, "3":3, "hello":[]} 循环字典的 key value,组成键值对 给到kwargs

def func(x,**kwargs): 打印结果为:
print(kwargs) {'2': 2, '3': 3, 'hello': []}
func(1,**{"2":2, "3":3, "hello":[]})

3、调用函数时,kwargs可以不用传(默认为{})

def func(x,**kwargs): 打印结果为:
print(x) 1
print(kwargs) {}
func(1)

'''

最新文章

  1. delegate、notification、KVO场景差别
  2. Oracle转MySQL
  3. mvc项目controller重命名了,用原网页url访问不了了,怎么办?
  4. IOS第三方字体
  5. opencv之深拷贝及浅拷贝,IplImage装换为Mat
  6. redis web 客户端工具 redis-admin
  7. 自学hadoop(三)
  8. 一滴一点vim(学习+备忘)
  9. BZOJ3709: [PA2014]Bohater
  10. 高质量程序设计指南C/C++语言——有了malloc/free为什么还要new/delete?
  11. 【jar包】图片的异步加载--【 Imageloader】
  12. wps制作目录
  13. Java调度框架Quartz简单示例
  14. 【JavaWeb】图书管理系统【总结】
  15. Log4j配置发邮件功能
  16. Educational Codeforces Round 62 (Rated for Div. 2)
  17. Lodop导出excel及提示成功【回调和直接返回值】
  18. CentOS安装HBase
  19. LaTeX使用技巧
  20. CentOS7查看CPU个数

热门文章

  1. Spring Boot Lombok配置
  2. 想了解Java后端学习路线?你只需要这一张图!
  3. 决策树、随机森林与k-means聚类算法
  4. hdoj1520(入门树形dp)
  5. [转帖]为何 linux 要用 tar.gz,而不用 7z 或 zip?
  6. sqlserver bcp命令导出数据
  7. #undef取消宏定义
  8. Python链表操作(实现)
  9. java爬取并下载酷狗TOP500歌曲
  10. Codeforces Round #309 (Div. 1)