zoukankan      html  css  js  c++  java
  • python中的函数的分类

    函数分类:

        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)
     
  • 相关阅读:
    制作在线简历(一)——Loading与底部菜单
    然而这并没有什么卵用
    移动开发中Fiddler的那些事儿
    多种方法实现Loading(加载)动画效果
    总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解
    SQLServer和MySQL job和 event定时器的差别
    全局ID的重要性
    Windows操作系统上各种服务使用的端口号, 以及它们使用的协议的列表
    Linux发展历史图
    奇特的Local System权限(转载)
  • 原文地址:https://www.cnblogs.com/wangxiongbing/p/10085596.html
Copyright © 2011-2022 走看看