三种编程方式
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(草创)
浙公网安备 33010602011771号