3-python自动化自学

时间:
    time_format ="%Y-%m-%d %X"  ---设置时间格式
    time_current=time.strftime(time_format)  ----使用时间格式

高阶函数:
    变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数
            例如:
                abs(-10)  ---10  ---内置函数,讲负数变为正数
                    def add(a,b,d)
                        return f(a)+f(b)
                    add(3,-6,abs)
匿名函数:
    匿名函数就是不需要显式的指定函数
例如:calc = lambda n:n**n

函数定义:
    def funtion():
        .........

参数:
    实参: 实际存在的,在内存中使用
    形参: 实际存在,但是在运行完函数之后就会消失
    
    位置参数: def test(x,y)  ---特点:与形参一一对应
    关键字参数:test(y=1,x=2)  ----特点:与形参顺序无关(只要被匹配就一定被改变)
    默认参数: def test(y,x=1,y=2)  ----特点:在传递时候可以被覆盖
    
    注意:
        关键字参数是不能写在位置参数前面,不然会报错
        参数在传递的时候只能对应一个位置,不可以出现多个位置同一时刻传递一个参数值
        装换字典方式不可以在关键字参数之前,但是接受参数时候就可以
    参数组:
        (1)def test(x,*args)
            def test(*args)   ----特点:可以接受多个实参并放到一个元组里面,
                例如:
                    传值:test(1,23,4,5)
                    传列表:test(*[1,2,34,5])
        (2)def test(**kwargs)  ----特点:把N个关键字参数转变为字典方式存储
                例如:
                    传递值:test(name='chenming',age=9)  ---使用关键字方式去写
                    传递字典:test(**{'name':'chen','age':8})
                引用:
                    kwargs['name']  ---显示value

返回值return:
    返回值可以是一个tuple: 例如: return 1,'hello',['wo','ni'],{'name':'chen'}
    返回值可以是一个None值
    返回值可以是一个boject
    
局部变量:
    就是在一定的范围里面影响一定的参数,比如声明的函数中
    局部变量是不能更改全局变量,但是仅限于字符串和整数
全局变量:
    影响全局的变量,global
    
递归:
    概念:在使用时候不断进入内层时候是不会返回结果,是要在总的调用完成之后,由内向外返回结果,最大998次递归
    特点
        必须有一个明确的结束变量,
        递归效率不高,递归层次过多会导致栈溢出
        每次进入更深一层递归时,问题规模相比上次递归都应有所减少
函数式编程:
    函数式编程中的函数这个术语不是指计算机中的函数(实际上是Subroutine),而是指数学中的函数,即自变量的映射。也就是说一个函数的值仅决定于函数参数的值,不依赖其他状态。比如sqrt(x)函数计算x的平方根,只要x不变,不论什么时候调用,调用几次,值都是不变的
    例如:
        var result = subtract(multiply(add(1,2), 3), 4);

猜你喜欢

转载自www.cnblogs.com/chenming-1998/p/11717296.html