三种编程方式
1.面向对象:-->类-->class

2.面向过程:-->过程-->def 过程是没有返回值的函数

def test(x): 
    "这是一个测试过程" #函数说明
    print(x)

3.函数式编程:-->函数-->def
1.代码重复使用,减少代码
2.保持代码一致性
3.使程序容易扩展

def test(x): #定义函数名字,形参X
    "这是一个测试函数" #函数说明
    x += 1 #函数的逻辑
    return x #定义返回值,可以终止函数执行

函数调用以及参数讲解

def test1(x,y):
    print(x)
    print(y)
    return x,y

调用方式

test1(y=2,x=1) #关键参数调用
test1(1,2) #与形参一一对应
test1(1,y=2) #混合调用的时候关键参数不能写在位置参数前面

默认参数
特点:调用函数的时候默认参数非必传参数
用途:默认安装值,链接数据库的默认端口号

def test3(x,y=2): #默认参数y=2
    print(x)
    print(y)
    return x,y
test3(1) #可以使用
test3(1,y=3) #y变成3

参数组用法

def test4(*args) #可以输入多个参数
    print(args)
test4(1,2,3,4,5)
test4(*[1,2,3,4,5])
def test4(x,*args)
    print(x)
    print(args)
    
test4(1,2,3,4,5,6) #x=1 *args=2,3,4,5,6
def test5(**kwargs): #把N个关键字参数变化成字典
    print(kwargs)
    print(kwargs[alex])
    print(kwargs[age])
test5(name='alex',age=8)
def test(x,y=2,*args,**kwargs):
    print(x)
    print(y)
    print(args)
    print(kwargs)

test(6,7,45,5,n=6,g=8)
>>>>>
6
7
(45, 5)
{'n': 6, 'g': 8}

递归函数:
1.必须要有明确的结束条件
2.每进入下一层递归时,必须比上一层规模有所减少。
3.递归效率不高,容易造成栈溢出

def calc(n):
    print(n)
    if int(n/2) > 1:
        return calc(int(n/2))
    print("->",n)
calc(10)
>>>>>
10
5
2

高阶函数

def add(a,b,f):
    return f(a)+f(b)
res = add(3,-6,abs)
print(res)

深圳运维开发交流群 --->>599706738(草创)
posted on 2017-10-24 09:05  大千世界。  阅读(99)  评论(0)    收藏  举报