函数分类:

    1 不带参函数

    2 带参函数

       默认带参函数

       关键字参数

     可变参数

       字典参数

    3 递归函数

    4 匿名函数

1-1 不带参数函数
  表示该函数不需要传递参数
  def func():
    print("hello world!")
2-1 默认带参函数
   表示该函数自带赋值了的参数,如果不传,则使用该函数的,如果传入新值,则替换函数中的值
    def text(a,b=2)
      print("haha")
      print(a)
      print(b)
    ret = text(1)
    print(ret)
2-2 关键字参数
    表示传递参数的时候不需要分谁先传谁后传,有相对应的关键字形参进行绑定
    def text1(a,b,m):
      print(a)
      print(b)
      print(m)
    ret = text1(m=2,a=1,b=3)
2-3  可变参数
  表示该参数中可以传入任意多个值
    def text2(a,*args):
      print(a)
      print(args)
    ret = text2(1,3,5,8)
2-4 字典参数
  表示传递参数时是以字典数据格式进行传递的
    def text3(a,b,**kwargs):
      print(a)
      print(b)
      print(kwargs)     ret = text3(a =1,b =2,c=5,d=8,f=10)
3 - 1  递归函数
  最大调用深度为1000次(中包含了入口函数)
满足递归函数的条件
    a.必须有结束条件的标识
    b.自己调用自己 def sum1(num):
if num == 1:
  return 1
return sum1(num-1) + num ret = sum1(10)
print(ret)
4-1  匿名函数
# 方式一
add = lambda a, b: a + b
print(add(3, 4))
# 方式二
#add = (lambda a,b:a+b) (3,4)
add = (lambda a, b: a + b)(3, 4)
print(add)
# 参数
# 无参数
add = (lambda:100)()
print(add) # 多个返回值需要手动组包
# f1,f2 = lambda:3,4() 此为lambda未组包的表达式需要手动组包后才能往下进行
f1, f2 = (lambda: (3, 4))()
print(f1)
print(f2) # 存储模型
f4 = (lambda: ())()
f5 = (lambda: (i for i in range(10)))()
f6 = (lambda: [i for i in range(10)])()
f7 = range(10)
print(f4,f5,f6,f7)

最新文章

  1. Messenger
  2. git diff
  3. mysql以ROOT权限提权方法
  4. 浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决的方法
  5. centos6.5下Python IDE开发环境搭建
  6. sbt的安装设置
  7. 【Java基础】Java多线程小结
  8. linux 命令学习(4)
  9. Primo Ramdisk配置教程
  10. runtime ---- iOS
  11. tensorflow tanh应用
  12. 【洛谷2986】【USACO10MAR】伟大的奶牛聚集
  13. python 面向对象终极进阶之开发流程
  14. android SDK 无法更新
  15. 安卓开发学习之Menu
  16. MySql中drop、truncate、delete的区别
  17. SkylineGlobe6.5遍历信息树节点方法
  18. C++之引用和指针
  19. centos7 安装SSH
  20. 【Memcached】原理、体系架构、基本操作及路由算法

热门文章

  1. jQuery同时监听两个事件---实现同时操控两个按键
  2. video.py OpenCv例程阅读
  3. Android SDK Manager 无法下载Android8.1.0(API 27) SDK Platform
  4. UWP 后台保存图片
  5. Educational Codeforces Round 19 C
  6. 递推DP HDOJ 5459 Jesus Is Here
  7. 转--oracle查看允许的最大连接数和当前连接数等信息
  8. ubuntu中mysql安装失败
  9. Android(java)学习笔记182:多媒体之撕衣服的案例
  10. axios 两种异步模式,代理模式 和 异步模式