python_函数

1.特性:

---------1.1.可扩展性

---------1.2.减少代码重复

---------1.3.程序更容易维护

2.函数的参数与局部变量

---------2.1.函数里面的  *arges  元组形式存储,**kwarges 字典方式存储,可以写成其他,但是**必须写

---------2.2.函数里面入参可以是默认参数,固定参数,位置参数,关键字参数,非固定参数的

3.返回值

---------3.1.函数可以return任何值(任意数据类型),对于用户角度,函数可以返回任意数量的值,对于py来讲,函数只能返回一个值

---------3.2.return代表一个函数的结束

---------3.3.返回值的作用:一旦函数经过调用,并开始执行,那么函数外部的程序,就没有办法

                           控制函数的执行过程了,此时外部程序只能等待函数的执行结果(返回值)

                            ,外部程序根据函数的执行结果来判断下一步如何走,,结果就是以

                           return的形式返回给外部程序。

一.函数二分查找(递归的作用)

dataset = range(0,1000)

def digui(date,find_name):

     if len(dataset)>0:       
        midd_num = int(len(date)/2)
        if date[midd_num] == find_name:
            print('找到 :',date[midd_num])
        elif date[midd_num] > find_name:
            print('继续查找1:',date[0:midd_num],find_name)            
            digui(date[0:midd_num],find_name)
        else:
            print('继续查找2:', date[midd_num:],find_name)
            digui(date[midd_num:], find_name)
     else:
         print('未找到:',find_name)

digui(dataset,34)

 二.匿名函数

1.分号前面的代表形参,如果是两个参数 则 X,Y

2.不能跟指定值

cacl = lambda x:x*x
#上面匿名函数调用
print(cacl(2))

3.匿名函数的作用

3.1.搭配一些其他方法使用,例如

def cc(x):
return x*x
#map的作用 把后面列表的值取出来 ,交给前面的函数取运算 data = map(cc,range(10)) for i in data: print(i) #lambda 的使用方法,一般来说 是 跟map一起使用 data2 = map(lambda n:n*2,range(10)) for i in data2: print(i)
#三元运算
a =4
b =5
c = a if a>10 else b

#lambada 可以接三元运算符
data = map(lambda n: n*2 if n>5 else n,range(10)) #如果 n>5那么就*2,否则就n
#可以接函数
data = map(lambda n: n*2 if n>5 else test(n),range(10)) #test(n) 调用上面的一个函数


三.高阶函数

一个函数作为另一个函数的入参,这个函数就称为高阶函数

 abs(),把负值转换为正值

 

四。函数式编程

编程范式

1.面向过程

2.面向对象(重点)

3.函数式编程

  

posted @ 2019-12-09 22:10  小东阁下  阅读(169)  评论(0编辑  收藏  举报